public HangingPointLoadCompose(int i, int j, float[,] xLoad, float[,] yLoad, float[,] zLoad, string grp, string linkXY, string linkZ, HangingPointSettingParas hpSetting, TowerTemplate template, List <StruCalsDicGroup> dicGrps, string pos = null) { iIndex = i; jIndex = j; xLineLoad = xLoad; yLineLoad = yLoad; zLineLoad = zLoad; xyLink = linkXY; zLink = linkZ; if (pos == null) { isTensionTower = false; } else { isTensionTower = true; position = pos; } group = grp; hpPointsParas = hpSetting; towerTemplate = template; wireType = towerTemplate.Wires[i]; wd = towerTemplate.WorkConditionCombos[j]; dicGroupOptions = dicGrps; }
public HangingPointLoadComposeBase(int i, int j, string orient, float[,] xLoad, float[,] yLoad, float[,] zLoad, string group, string link, List <HangingPointParas> pointsParas, HangingPointSettingParas raios, TowerTemplate template, List <StruCalsDicGroup> dicGrps) { iIndex = i; jIndex = j; orientation = orient; xLineLoad = xLoad; yLineLoad = yLoad; zLineLoad = zLoad; if (orient == "X") { lineLoad = xLoad; } else if (orient == "Y") { lineLoad = yLoad; } else { lineLoad = zLoad; } ratioParas = raios; towerTemplate = template; wireType = towerTemplate.Wires[i]; wd = towerTemplate.WorkConditionCombos[j]; StruCalsDicGroup dicGroup = new StruCalsDicGroup(); if (link.Contains("常规")) { pointParas = pointsParas.Where(item => item.WireType == wireType).First(); string vStr = pointParas.StringType.Contains("V") ? "V串" : pointParas.StringType; dicGroup = dicGrps.Where(item => item.Group == group && item.FixedType == vStr && item.Link == link).First(); } else if (link.Contains("转向")) { pointParas = pointsParas.Where(item => item.WireType == wireType).First(); dicGroup = dicGrps.Where(item => item.Group == group && item.Link == link).First(); } else { string wCC = template.WorkConditionCombos[jIndex].WorkConditionCode; string array = wCC.Substring(wCC.Length - 1); pointParas = pointsParas.Where(item => item.WireType == wireType && item.Array != null && item.Array.Contains(array)).First(); dicGroup = dicGrps.Where(item => item.Group == group && item.Link == link).First(); } option = dicGroup.Options.Where(item => item.Num == pointParas.PointNum).First(); dicComposeInfo = option.ComposrInfos.Where(item => item.Orientation == orientation).First().PointCompose; }
public LoadComposeBase(StruCalseBaseParas para, StruLineParas[] lineParas, HangingPointSettingParas hpParas, TowerTemplate template, string tablePath) { ProcessString = new List <string>(); Process2String = new List <string>(); Paras = para; LineParasArr = lineParas; HPSettingParas = hpParas; Template = template; DicGroup = StruLoadComposeDicReader.Read(GetDicPath()); LoadDics = StruLoadComposeDicReader.DicRead(GetLoadDicPath()); wireNum = Template.Wires.Count; earthWireNum = Template.Wires.Where(item => item.Contains("地")).Count(); workConditionNum = Template.WorkConditongs.Count; DataSet ds = ExcelUtils.ReadExcel(tablePath); ReadWorkCondition(ds); ReadElectricLoad(ds); }
public void TestMethod6() { var openFileDialog = new Microsoft.Win32.OpenFileDialog() { Filter = "DLL Files (*.dll)|*.dll" }; if (openFileDialog.ShowDialog() != true) { return; } var openTemplateDialog = new Microsoft.Win32.OpenFileDialog() { Filter = "Excel Files (*.xlsx)|*.xlsx" }; if (openTemplateDialog.ShowDialog() != true) { return; } var saveFileDialog = new Microsoft.Win32.SaveFileDialog() { Filter = "Dat Files (*.dat)|*.dat", }; if (saveFileDialog.ShowDialog() != true) { return; } DES.DesDecrypt(openFileDialog.FileName, saveFileDialog.FileName, "12345678"); TowerTemplateReader TemplateReader = new TowerTemplateReader(TowerTypeEnum.CornerTower); Mode.TowerTemplate template = TemplateReader.Read(saveFileDialog.FileName); StruCalseBaseParas formulaParas = new StruCalseBaseParas(); formulaParas.Type = TowerTypeEnum.CornerTower; formulaParas.LoadRatio = 1; formulaParas.IsMethod1Selected = false; //结构重要性系数 formulaParas.R1Install = 1.0f; formulaParas.R0Normal = 1.1f; //荷载分项系数 formulaParas.RGBad = 1.2f; formulaParas.RGGood = 1.00f; formulaParas.RQ = 1.4f; //formulaParas.RGCheck01 = 1.3f; //可变荷载组合系数 formulaParas.VcFNormal = 1f; formulaParas.VcFInstall = 0.9f; formulaParas.VcFBroken = 0.9f; formulaParas.VcFUnevenIce = 0.9f; formulaParas.VcFCheck = 0.75f; //其他参数 formulaParas.WindAdjustFactor = 1f; formulaParas.OtherWindAdjustFactor = 1.00f; formulaParas.DynamicCoef = 1.1f; formulaParas.LiftCoefJumper = 2f; formulaParas.TempStayWireAngle = 45f; formulaParas.TractionAgnle = 20f; formulaParas.IsMethod1Selected = false; //formulaParas.RA = 1.5f; StruLineParas[] lineParas = new StruLineParas[] { new StruLineParas { TstringNum = 0, WireExtraLoad = 4, TwireExtraLoad = 0, AnchorTension = 47.49f, TemporaryTension = 10f, AngleMin = 20f, AngleMax = 40f, isTurnRight = true, DrawingCoef = 1.05f, PulleyTensionDif = 0, }, new StruLineParas { TstringNum = 0, WireExtraLoad = 4, TwireExtraLoad = 0, AnchorTension = 47.49f, TemporaryTension = 10f, AngleMin = 20f, AngleMax = 40f, isTurnRight = true, DrawingCoef = 1.05f, PulleyTensionDif = 0, }, new StruLineParas { TstringNum = 1, WireExtraLoad = 12, TwireExtraLoad = 6, AnchorTension = 412.14f, TemporaryTension = 40f, AngleMin = 20f, AngleMax = 40f, isTurnRight = true, DrawingCoef = 1.1f, PulleyTensionDif = 50, }, new StruLineParas { TstringNum = 1, WireExtraLoad = 12, TwireExtraLoad = 6, AnchorTension = 412.14f, TemporaryTension = 40f, AngleMin = 20f, AngleMax = 40f, isTurnRight = true, DrawingCoef = 1.1f, PulleyTensionDif = 50, }, new StruLineParas { TstringNum = 1, WireExtraLoad = 12, TwireExtraLoad = 6, AnchorTension = 412.14f, TemporaryTension = 40f, AngleMin = 20f, AngleMax = 40f, isTurnRight = true, DrawingCoef = 1.1f, PulleyTensionDif = 50, }, }; List <HangingPointParas> normalList = new List <HangingPointParas>() { new HangingPointParas() { Index = 1, WireType = "左地", StringType = "常规", Points = new string[] { "11", "13" } }, new HangingPointParas() { Index = 2, WireType = "右地", StringType = "常规", Points = new string[] { "40", "42" } }, new HangingPointParas() { Index = 3, WireType = "左导", StringType = "常规", Points = new string[] { "1511", "1513", "1601", "1603" } }, new HangingPointParas() { Index = 4, WireType = "中导", StringType = "常规", Points = new string[] { "1060", "1062" } }, new HangingPointParas() { Index = 5, WireType = "右导", StringType = "常规", Points = new string[] { "1600", "1602", "1510", "1512" } }, }; List <HangingPointParas> normalTList = new List <HangingPointParas>() { new HangingPointParas() { Index = 1, WireType = "左地", StringType = "无跳线" }, new HangingPointParas() { Index = 2, WireType = "右地", StringType = "无跳线", }, new HangingPointParas() { Index = 3, WireType = "左导", StringType = "I串", Points = new string[] { "1481", "1483" } }, new HangingPointParas() { Index = 4, WireType = "中导", StringType = "I串", Points = new string[] { "490", "492" } }, new HangingPointParas() { Index = 5, WireType = "右导", StringType = "I串", Points = new string[] { "1480", "1482" } }, }; List <HangingPointParas> intallTList = new List <HangingPointParas>() { new HangingPointParas() { Index = 1, WireType = "左导", StringType = "I串", Array = "第a组", Points = new string[] { "1481", "1483" } }, new HangingPointParas() { Index = 2, WireType = "中导", StringType = "I串", Array = "第a组", Points = new string[] { "490", "492" } }, new HangingPointParas() { Index = 3, WireType = "右导", StringType = "I串", Array = "第a组", Points = new string[] { "1480", "1482" } }, }; List <HangingPointParas> turingList = new List <HangingPointParas>() { new HangingPointParas() { Index = 1, WireType = "左导", StringType = "I串", Points = new string[] { "1511", "1513", "1601", "1603" } }, new HangingPointParas() { Index = 2, WireType = "中导", StringType = "I串", Points = new string[] { "1040", "1042", "1050", "1052" } }, new HangingPointParas() { Index = 3, WireType = "右导", StringType = "I串", Points = new string[] { "1600", "1602", "1510", "1512" } }, }; HangingPointSettingParas ratioParas = new HangingPointSettingParas { BLTQ = 0.5f, BLTH = 0.5f, BLTZ = 0, BLDZTQ = 0.5f, BLDZTH = 0.5f, BLDZTZ = 0, IsTuringPointSeleced = true, NormalXYPoints = normalList, NormalZPoints = normalTList, InstallXYPoints = intallTList, InstallZPoints = intallTList, TurningPoints = turingList, }; LoadComposeTensionTower loadCornerTower = new LoadComposeTensionTower(formulaParas, lineParas, ratioParas, template, openTemplateDialog.FileName); string filePath = saveFileDialog.FileName.Substring(0, saveFileDialog.FileName.Length - 3) + "calc"; loadCornerTower.CalculateLoadDistribute(filePath); string filePath2 = saveFileDialog.FileName.Substring(0, saveFileDialog.FileName.Length - 3) + "div"; List <StruCalsPointLoad> loadList = loadCornerTower.CalsPointsLoad(filePath2); string filePath3 = saveFileDialog.FileName.Substring(0, saveFileDialog.FileName.Length - 3) + "load"; loadCornerTower.GenerateLoadFile(filePath3, loadList); }
public LoadComposeLineCornerTower(StruCalseBaseParas para, StruLineParas[] lineParas, HangingPointSettingParas ratioParas, TowerTemplate template, string tablePath) : base(para, lineParas, ratioParas, template, tablePath) { formula = new FormulaLineLineCornerTower(para); }
public void TestMethod7() { var openFileDialog = new Microsoft.Win32.OpenFileDialog() { Filter = "DLL Files (*.dll)|*.dll" }; if (openFileDialog.ShowDialog() != true) { return; } var openTemplateDialog = new Microsoft.Win32.OpenFileDialog() { Filter = "Excel Files (*.xlsx)|*.xlsx" }; if (openTemplateDialog.ShowDialog() != true) { return; } var saveFileDialog = new Microsoft.Win32.SaveFileDialog() { Filter = "Dat Files (*.dat)|*.dat", }; if (saveFileDialog.ShowDialog() != true) { return; } DES.DesDecrypt(openFileDialog.FileName, saveFileDialog.FileName, "12345678"); TowerTemplateReader TemplateReader = new TowerTemplateReader(TowerTypeEnum.LineTower); Mode.TowerTemplate template = TemplateReader.Read(saveFileDialog.FileName); StruCalseBaseParas formulaParas = new StruCalseBaseParas(); formulaParas.Type = TowerTypeEnum.LineTower; formulaParas.LoadRatio = 1; //结构重要性系数 formulaParas.R1Install = 1f; formulaParas.R0Normal = 1.1f; //荷载分项系数 formulaParas.RGBad = 1.2f; formulaParas.RGGood = 1f; formulaParas.RQ = 1.4f; //可变荷载组合系数 formulaParas.VcFNormal = 1f; formulaParas.VcFInstall = 0.9f; formulaParas.VcFBroken = 0.9f; formulaParas.VcFUnevenIce = 0.9f; formulaParas.VcFCheck = 0.75f; //其他参数 formulaParas.WindAdjustFactor = 1f; formulaParas.OtherWindAdjustFactor = 1f; formulaParas.DynamicCoef = 1.1f; formulaParas.AnchorWindCoef = 0.7f; formulaParas.AnchorGravityCoef = 0.7f; formulaParas.AnchorAngle = 20f; formulaParas.IsMethod1Selected = true; StruLineParas[] lineParas = new StruLineParas[] { new StruLineParas { HoistingCoef = 2f, WireExtraLoad = 4, AnchorTension = 43.32f, PulleyTensionDif = 0, DrawingCoef = 1.2f }, new StruLineParas { HoistingCoef = 2f, WireExtraLoad = 4, AnchorTension = 43.32f, PulleyTensionDif = 0, DrawingCoef = 1.2f }, new StruLineParas { HoistingCoef = 1.5f, WireExtraLoad = 8, AnchorTension = 829.39f, PulleyTensionDif = 50, DrawingCoef = 1.2f }, new StruLineParas { HoistingCoef = 1.5f, WireExtraLoad = 8, AnchorTension = 829.39f, PulleyTensionDif = 50, DrawingCoef = 1.2f } }; List <HangingPointParas> normalList = new List <HangingPointParas>() { new HangingPointParas() { Index = 1, WireType = "左地", StringType = "常规", Points = new string[] { "11", "13" } }, new HangingPointParas() { Index = 2, WireType = "右地", StringType = "常规", Points = new string[] { "10", "12" } }, new HangingPointParas() { Index = 3, WireType = "左导", StringType = "V1", Points = new string[] { "421", "1241" } }, new HangingPointParas() { Index = 4, WireType = "右导", StringType = "V1", Points = new string[] { "1240", "420" } } }; List <HangingPointParas> installList = new List <HangingPointParas>() { new HangingPointParas() { Index = 1, WireType = "左导", Array = "第a组", Points = new string[] { "671", "673", "781", "783" } }, new HangingPointParas() { Index = 2, WireType = "右导", Array = "第a组", Points = new string[] { "670", "672", "780", "782" } }, new HangingPointParas() { Index = 3, WireType = "左导", Array = "第b组", Points = new string[] { "611", "613", "671", "673", "781", "783", "791", "793" } }, new HangingPointParas() { Index = 4, WireType = "右导", Array = "第b组", Points = new string[] { "610", "612", "670", "672", "780", "782", "790", "792" } }, new HangingPointParas() { Index = 5, WireType = "左导", Array = "第c组", Points = new string[] { "671", "673", "781", "783" } }, new HangingPointParas() { Index = 6, WireType = "右导", Array = "第c组", Points = new string[] { "670", "672", "780", "782" } }, }; List <HangingPointParas> turningPoingts = new List <HangingPointParas> { new HangingPointParas { Index = 1, WireType = "左导", Angle = 90, Points = new string[] { "1001", "1003" } }, new HangingPointParas { Index = 2, WireType = "右导", Angle = -90, Points = new string[] { "1000", "1002" } }, }; List <VStringParas> vStringList = new List <VStringParas>() { new VStringParas() { Index = "V1", L1 = 8350, H1 = 9940, L2 = 8350, H2 = 9940, StressLimit = 0, Angle = 0 }, }; HangingPointSettingParas ratioParas = new HangingPointSettingParas() { GCQ = 0.5f, GCH = 0.5f, GXN = -1, GXW = 2, DQWQ = 0.7f, DQWH = 0.3f, DQCQ = 0.7f, DQCH = 0.3f, DDWQ = 0.7f, DDWH = 0.3f, DDCQ = 0.7f, DDCH = 0.3f, DMWQ = 0.7f, DMWH = 0.3f, DMCQ = 0.7f, DMCH = 0.3f, IsTuringPointSeleced = true, NormalXYPoints = normalList, NormalZPoints = normalList, InstallXYPoints = installList, InstallZPoints = installList, TurningPoints = turningPoingts, VStrings = vStringList, }; LoadComposeLineTower loadLineTower = new LoadComposeLineTower(formulaParas, lineParas, ratioParas, template, openTemplateDialog.FileName); string filePath = saveFileDialog.FileName.Substring(0, saveFileDialog.FileName.Length - 3) + "cals"; loadLineTower.CalculateLoadDistribute(filePath); string filePath2 = saveFileDialog.FileName.Substring(0, saveFileDialog.FileName.Length - 3) + "div"; List <StruCalsPointLoad> loadList = loadLineTower.CalsPointsLoad(filePath2); string filePath3 = saveFileDialog.FileName.Substring(0, saveFileDialog.FileName.Length - 3) + "load"; loadLineTower.GenerateLoadFile(filePath3, loadList); }
public void NewHangingPointSetting() { HangingPointSettingParas paras = new HangingPointSettingParas(); paras.HangingPointSettingName = "挂点方案" + (HPSettingsParas.Count + 1).ToString(); //地线数 int numGW = Template.Wires.Where(item => item.Contains("地")).Count(); //导线数 int numDW = Template.Wires.Count - numGW; List <string> arrList = GetArrayList(); paras.InstallXYPoints = new List <HangingPointParas>(new HangingPointParas[arrList.Count * numDW]); paras.InstallZPoints = new List <HangingPointParas>(new HangingPointParas[arrList.Count * numDW]); for (int i = 0; i < numGW; i++) { paras.NormalXYPoints.Add(new HangingPointParas { Index = i + 1, WireType = Template.Wires[i] }); paras.NormalZPoints.Add(new HangingPointParas { Index = i + 1, WireType = Template.Wires[i] }); } for (int i = numGW; i < Template.Wires.Count; i++) { paras.NormalXYPoints.Add(new HangingPointParas { Index = i + 1, WireType = Template.Wires[i] }); paras.NormalZPoints.Add(new HangingPointParas { Index = i + 1, WireType = Template.Wires[i] }); for (int j = 0; j < arrList.Count; j++) { paras.InstallXYPoints[j * numDW + i - numGW] = new HangingPointParas { Index = j * numDW + i - numGW + 1, Array = "第" + arrList[j] + "组", WireType = Template.Wires[i] }; paras.InstallZPoints[j * numDW + i - numGW] = new HangingPointParas { Index = j * numDW + i - numGW + 1, Array = "第" + arrList[j] + "组", WireType = Template.Wires[i] }; } paras.TurningPoints.Add(new HangingPointParas { Index = i - numGW + 1, WireType = Template.Wires[i] }); } //配置默认参数 if (BaseParas.Type == TowerTypeEnum.LineTower) { paras.GCQ = 0.5f; paras.GCH = 0.5f; paras.GXW = 2; paras.GXN = -1; paras.DQWQ = 0.7f; paras.DQWH = 0.3f; paras.DQCQ = 0.7f; paras.DQCH = 0.3f; paras.DDWQ = 0.7f; paras.DDWH = 0.3f; paras.DDCQ = 0.7f; paras.DDCH = 0.3f; paras.DMWQ = 0.7f; paras.DMWH = 0.3f; paras.DMCQ = 0.7f; paras.DMCH = 0.3f; } else if (BaseParas.Type == TowerTypeEnum.LineCornerTower) { paras.GCQ = 0.5f; paras.GCH = 0.5f; paras.GXW = 1; paras.GXN = 0; paras.DQWQ = 0.5f; paras.DQWH = 0.5f; paras.DQCQ = 0.5f; paras.DQCH = 0.5f; paras.DDWQ = 0.5f; paras.DDWH = 0.5f; paras.DDCQ = 0.5f; paras.DDCH = 0.5f; } else { paras.BLTQ = 0.5f; paras.BLTH = 0.5f; paras.BLTZ = 0; paras.BLDZTQ = 0.5f; paras.BLDZTH = 0.5f; paras.BLDZTZ = 0; } HPSettingsParas.Add(paras); }
public void TestMethod01_StruCalsParasSerializer() { var saveFileDialog = new Microsoft.Win32.SaveFileDialog() { Filter = "XML Files (*.xml)|*.xml", }; if (saveFileDialog.ShowDialog() != true) { return; } StruCalseBaseParas formulaParas = new StruCalseBaseParas(); formulaParas.Type = TowerTypeEnum.LineTower; formulaParas.LoadRatio = 1; //结构重要性系数 formulaParas.R1Install = 1f; formulaParas.R0Normal = 1.1f; //荷载分项系数 formulaParas.RGBad = 1.3f; formulaParas.RGGood = 1.05f; formulaParas.RQ = 1.5f; //formulaParas.RGCheck01 = 1.3f; //可变荷载组合系数 formulaParas.VcFNormal = 1.1f; formulaParas.VcFInstall = 0.95f; formulaParas.VcFBroken = 0.95f; formulaParas.VcFUnevenIce = 0.95f; formulaParas.VcFCheck = 0.8f; //其他参数 formulaParas.WindAdjustFactor = 1.3f; formulaParas.OtherWindAdjustFactor = 0.95f; formulaParas.DynamicCoef = 1.2f; formulaParas.AnchorWindCoef = 0.8f; formulaParas.AnchorGravityCoef = 0.8f; formulaParas.AnchorAngle = 25f; StruLineParas[] lineParas = new StruLineParas[] { new StruLineParas { HoistingCoef = 2.5f, WireExtraLoad = 4, AnchorTension = 61.20f, PulleyTensionDif = 0, DrawingCoef = 1.3f }, new StruLineParas { HoistingCoef = 2.5f, WireExtraLoad = 4, AnchorTension = 61.20f, PulleyTensionDif = 0, DrawingCoef = 1.3f }, new StruLineParas { HoistingCoef = 2.5f, WireExtraLoad = 8, AnchorTension = 375.23f, PulleyTensionDif = 50, DrawingCoef = 1.3f }, new StruLineParas { HoistingCoef = 2.5f, WireExtraLoad = 8, AnchorTension = 375.23f, PulleyTensionDif = 50, DrawingCoef = 1.3f }, new StruLineParas { HoistingCoef = 2.5f, WireExtraLoad = 8, AnchorTension = 375.23f, PulleyTensionDif = 50, DrawingCoef = 1.3f }, new StruLineParas { HoistingCoef = 2.5f, WireExtraLoad = 8, AnchorTension = 375.23f, PulleyTensionDif = 50, DrawingCoef = 1.3f }, new StruLineParas { HoistingCoef = 2.5f, WireExtraLoad = 8, AnchorTension = 375.23f, PulleyTensionDif = 50, DrawingCoef = 1.3f }, new StruLineParas { HoistingCoef = 2.5f, WireExtraLoad = 8, AnchorTension = 375.23f, PulleyTensionDif = 50, DrawingCoef = 1.3f } }; List <HangingPointParas> normalList = new List <HangingPointParas>() { new HangingPointParas() { Index = 1, WireType = "左地", StringType = "常规", Points = new string[] { "91", "93" } }, new HangingPointParas() { Index = 2, WireType = "右地", StringType = "常规", Points = new string[] { "90", "92" } }, new HangingPointParas() { Index = 3, WireType = "左上导", StringType = "I串", Points = new string[] { "291" } }, new HangingPointParas() { Index = 4, WireType = "右上导", StringType = "I串", Points = new string[] { "290" } }, new HangingPointParas() { Index = 5, WireType = "左中导", StringType = "I串", Points = new string[] { "671", "673" } }, new HangingPointParas() { Index = 6, WireType = "右中导", StringType = "I串", Points = new string[] { "670", "672" } }, new HangingPointParas() { Index = 7, WireType = "左下导", StringType = "I串", Points = new string[] { "1111", "1113" } }, new HangingPointParas() { Index = 8, WireType = "右下导", StringType = "I串", Points = new string[] { "1110", "1112" } }, }; List <HangingPointParas> installList = new List <HangingPointParas>() { new HangingPointParas() { Index = 1, WireType = "左上导", Array = "第a组", Points = new string[] { "1", "2" } }, new HangingPointParas() { Index = 2, WireType = "右上导", Array = "第a组", Points = new string[] { "3", "4" } }, new HangingPointParas() { Index = 3, WireType = "左中导", Array = "第a组", Points = new string[] { "11", "22" } }, new HangingPointParas() { Index = 4, WireType = "右中导", Array = "第a组", Points = new string[] { "33", "44" } }, new HangingPointParas() { Index = 5, WireType = "左下导", Array = "第a组", Points = new string[] { "111", "222" } }, new HangingPointParas() { Index = 6, WireType = "右下导", Array = "第a组", Points = new string[] { "333", "444" } }, }; HangingPointSettingParas ratioParas = new HangingPointSettingParas() { GCQ = 0.5f, GCH = 0.5f, GXN = -1, GXW = 2, DQWQ = 0.5f, DQWH = 0.5f, DQCQ = 0.6f, DQCH = 0.4f, DDWQ = 0.5f, DDWH = 0.5f, DDCQ = 0.6f, DDCH = 0.4f, DMWQ = 0.5f, DMWH = 0.5f, DMCQ = 0.6f, DMCH = 0.4f, NormalXYPoints = normalList, NormalZPoints = normalList, InstallXYPoints = installList, InstallZPoints = installList, }; XmlUtils.Serializer(saveFileDialog.FileName, new StruCalsParasCompose(formulaParas, new List <StruLineParas>(lineParas), new List <HangingPointSettingParas> { ratioParas, })); StruCalsParasCompose calsParas = XmlUtils.Deserializer <StruCalsParasCompose>(saveFileDialog.FileName); }