/// <summary> /// 给转向挂点分配荷载 /// </summary> protected virtual void TurningPointsLoadCompose(List <StruCalsPointLoad> loads) { int i = -1; foreach (var wire in Template.Wires) { i++; //地线不用计算转向挂点 if (wire.Contains("地")) { continue; } int j = -1; foreach (var wdItem in Template.WorkConditionCombos) { j++; if (!wdItem.IsCalculate) { continue; } string groupStr = "第八组"; string linkStr = "[转向挂点_dataTable]"; List <HangingPointParas> points = HPSettingParas.TurningPoints; HangingPointLoadCompose hpLoadCompose = new HangingPointLoadCompose(i, j, XXT, YYT, ZZT, groupStr, linkStr, linkStr, HPSettingParas, Template, DicGroup); //HangingPointLoadComposeBase hPLoadComposeX = new HangingPointLoadComposeBase(i, j, "X", XXT, YYT, ZZT, groupStr, linkStr, points, HPSettingParas, Template, DicGroup); //hPLoadComposeX.ComposeHangingPointsLoad(out string strX, out List<StruCalsPointLoad> pListX, true); hpLoadCompose.ComposeHangingXPointsLoad(out string strX, out List <StruCalsPointLoad> pListX, true); Process2String.Add(strX); loads.AddRange(pListX); //HangingPointLoadComposeBase hPLoadComposeY = new HangingPointLoadComposeBase(i, j, "Y", XXT, YYT, ZZT, groupStr, linkStr, points, HPSettingParas, Template, DicGroup); //hPLoadComposeY.ComposeHangingPointsLoad(out string strY, out List<StruCalsPointLoad> pListY, true); hpLoadCompose.ComposeHangingYPointsLoad(out string strY, out List <StruCalsPointLoad> pListY, true); Process2String.Add(strY); loads.AddRange(pListY); //HangingPointLoadComposeBase hPLoadComposeZ = new HangingPointLoadComposeBase(i, j, "Z", XXT, YYT, ZZT, groupStr, linkStr, points, HPSettingParas, Template, DicGroup); //hPLoadComposeZ.ComposeHangingPointsLoad(out string strZ, out List<StruCalsPointLoad> pListZ, true); hpLoadCompose.ComposeHangingZPointsLoad(out string strZ, out List <StruCalsPointLoad> pListZ, true); Process2String.Add(strZ); loads.AddRange(pListZ); } } }
public virtual List <StruCalsPointLoad> CalsPointsLoad(string path) { List <StruCalsPointLoad> pointsLoad = new List <StruCalsPointLoad>(); Process2String.Add("荷载分配明细表 生成时间: " + DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss")); Process2String.Add(" "); int i = 0; foreach (var wireItem in Template.Wires) { int j = -1; foreach (var wdItem in Template.WorkConditionCombos) { j++; if (!wdItem.IsCalculate) { continue; } string groupStr, linkStrXY, linkStrZ; List <HangingPointParas> pointsXY, pointsZ; if (wireItem.Contains("地")) { groupStr = "第一组"; linkStrXY = "[常规挂点XY向_dataTable]"; linkStrZ = "[常规挂点Z向_dataTable]"; pointsXY = HPSettingParas.NormalXYPoints; pointsZ = HPSettingParas.NormalZPoints; } else { //N1;N2;D1;D2;I1;I2;U1;U2;B1;B2;Y1;Y2; if (wdItem.WorkConditionCode.StartsWith("N") || wdItem.WorkConditionCode.StartsWith("D") || wdItem.WorkConditionCode.StartsWith("I") || wdItem.WorkConditionCode.StartsWith("U") || wdItem.WorkConditionCode.StartsWith("B") || wdItem.WorkConditionCode.StartsWith("Y")) { groupStr = "第二组"; linkStrXY = "[常规挂点XY向_dataTable]"; linkStrZ = "[常规挂点Z向_dataTable]"; pointsXY = HPSettingParas.NormalXYPoints; pointsZ = HPSettingParas.NormalZPoints; } else if (wdItem.WorkConditionCode == "T") { if (Math.Abs(wdItem.WireIndexCodes[i]) < 10) { groupStr = "第二组"; } else { groupStr = "第七组"; } linkStrXY = "[常规挂点XY向_dataTable]"; linkStrZ = "[常规挂点Z向_dataTable]"; pointsXY = HPSettingParas.NormalXYPoints; pointsZ = HPSettingParas.NormalZPoints; } //L;La;Lb;Lc;Ld;Le;Lf;Lg;Lh else if (wdItem.WorkConditionCode.StartsWith("L")) { if (Math.Abs(wdItem.WireIndexCodes[i]) < 10) { groupStr = "第三组"; linkStrXY = "[常规挂点XY向_dataTable]"; linkStrZ = "[常规挂点Z向_dataTable]"; pointsXY = HPSettingParas.NormalXYPoints; pointsZ = HPSettingParas.NormalZPoints; } else { groupStr = "第四组"; linkStrXY = "[吊装挂点XY向_dataTable]"; linkStrZ = "[吊装挂点Z向_dataTable]"; pointsXY = HPSettingParas.InstallXYPoints; pointsZ = HPSettingParas.InstallZPoints; } } //C;Ca;Cb;Cc;Cd;Ce;Cf;Cg;Ch;CL;CLa;CLb;CLc;CLd;CLe;CLf;CL;CLa;CLb;CLc;CLd;CLe;CLf;CLg;CLh else if (wdItem.WorkConditionCode.StartsWith("C")) { if (Math.Abs(wdItem.WireIndexCodes[i]) < 10 || (wdItem.WorkConditionCode == "C" || wdItem.WorkConditionCode == "CL")) { groupStr = "第三组"; linkStrXY = "[常规挂点XY向_dataTable]"; linkStrZ = "[常规挂点Z向_dataTable]"; pointsXY = HPSettingParas.NormalXYPoints; pointsZ = HPSettingParas.NormalZPoints; } else { groupStr = "第四组"; linkStrXY = "[吊装挂点XY向_dataTable]"; linkStrZ = "[吊装挂点Z向_dataTable]"; pointsXY = HPSettingParas.InstallXYPoints; pointsZ = HPSettingParas.InstallZPoints; } } //G;Ga;Gb;Gc;Gd;Ge;Gf;Gh;GL;GLa;GLb;GLc;GLd;GLe;GLf;GLg else if (wdItem.WorkConditionCode.StartsWith("G")) { if (Math.Abs(wdItem.WireIndexCodes[i]) < 10) { if (wdItem.WorkConditionCode == "G" || wdItem.WorkConditionCode == "GL") { groupStr = "第三组"; linkStrXY = "[常规挂点XY向_dataTable]"; linkStrZ = "[常规挂点Z向_dataTable]"; pointsXY = HPSettingParas.NormalXYPoints; pointsZ = HPSettingParas.NormalZPoints; } else { groupStr = "第六组"; linkStrXY = "[吊装挂点XY向_dataTable]"; linkStrZ = "[吊装挂点XY向_dataTable]"; pointsXY = HPSettingParas.InstallXYPoints; pointsZ = HPSettingParas.InstallXYPoints; } } else { //只有直线塔和直转塔会使用基类 if (Paras.Type == TowerTypeEnum.LineTower) { //直线塔 if (Math.Abs(wdItem.WireIndexCodes[i]) < 1000) { groupStr = "第五组"; } else { groupStr = "第六组"; } if (wdItem.WorkConditionCode == "G" || wdItem.WorkConditionCode == "GL") { linkStrXY = "[常规挂点XY向_dataTable]"; linkStrZ = "[常规挂点XY向_dataTable]"; pointsXY = HPSettingParas.NormalXYPoints; pointsZ = HPSettingParas.NormalXYPoints; } else { linkStrXY = "[吊装挂点XY向_dataTable]"; linkStrZ = "[吊装挂点XY向_dataTable]"; pointsXY = HPSettingParas.InstallXYPoints; pointsZ = HPSettingParas.InstallXYPoints; } } else { //直转塔 groupStr = "第七组"; linkStrXY = "[常规挂点XY向_dataTable]"; linkStrZ = "[常规挂点Z向_dataTable]"; pointsXY = HPSettingParas.NormalXYPoints; pointsZ = HPSettingParas.NormalZPoints; } } } //M;Ma;Mb;Mc;Md;Me;Mf;Mg;Mh else if (wdItem.WorkConditionCode.StartsWith("M") && !wdItem.WorkConditionCode.StartsWith("MO")) { groupStr = "第五组"; if (wdItem.WorkConditionCode == "M") { linkStrXY = "[常规挂点XY向_dataTable]"; linkStrZ = "[常规挂点XY向_dataTable]"; pointsXY = HPSettingParas.NormalXYPoints; pointsZ = HPSettingParas.NormalXYPoints; } else { linkStrXY = "[吊装挂点XY向_dataTable]"; linkStrZ = "[吊装挂点XY向_dataTable]"; pointsXY = HPSettingParas.InstallXYPoints; pointsZ = HPSettingParas.InstallXYPoints; } } // MO;MOa;MOb;MOc;MOd;MOe;MOf;MOh else { groupStr = "第二组"; linkStrXY = "[常规挂点XY向_dataTable]"; linkStrZ = "[常规挂点Z向_dataTable]"; pointsXY = HPSettingParas.NormalXYPoints; pointsZ = HPSettingParas.NormalZPoints; } } //string wireType = wireItem.Contains("地") ? "地线": "导线"; //GetDicInfo(wireType, wdItem.WorkConditionCode, wdItem.WireIndexCodes[i], out string groupStr, out string linkStrXY, out string linkStrZ, out List<HangingPointParas> pointsXY, out List<HangingPointParas> pointsZ); HangingPointLoadCompose hpLoadCompose = new HangingPointLoadCompose(i, j, XX, YY, ZZ, groupStr, linkStrXY, linkStrZ, HPSettingParas, Template, DicGroup); //HangingPointLoadComposeBase hPLoadComposeX = new HangingPointLoadComposeBase(i, j, "X", XX, YY, ZZ, groupStr, linkStrXY, pointsXY, HPSettingParas, Template, DicGroup); //hPLoadComposeX.ComposeHangingPointsLoad(out string strX, out List<StruCalsPointLoad> pListX); hpLoadCompose.ComposeHangingXPointsLoad(out string strX, out List <StruCalsPointLoad> pListX); Process2String.Add(strX); pointsLoad.AddRange(pListX); //HangingPointLoadComposeBase hPLoadComposeY = new HangingPointLoadComposeBase(i, j, "Y", XX, YY, ZZ, groupStr, linkStrXY, pointsXY, HPSettingParas, Template, DicGroup); //hPLoadComposeY.ComposeHangingPointsLoad(out string strY, out List<StruCalsPointLoad> pListY); hpLoadCompose.ComposeHangingYPointsLoad(out string strY, out List <StruCalsPointLoad> pListY); Process2String.Add(strY); pointsLoad.AddRange(pListY); //HangingPointLoadComposeBase hPLoadComposeZ = new HangingPointLoadComposeBase(i, j, "Z", XX, YY, ZZ, groupStr, linkStrZ, pointsZ, HPSettingParas, Template, DicGroup); //hPLoadComposeZ.ComposeHangingPointsLoad(out string strZ, out List<StruCalsPointLoad> pListZ); hpLoadCompose.ComposeHangingZPointsLoad(out string strZ, out List <StruCalsPointLoad> pListZ); Process2String.Add(strZ); pointsLoad.AddRange(pListZ); } i++; } if (HPSettingParas.IsTuringPointSeleced) { TurningPointsLoadCompose(pointsLoad); } FileUtils.TextSaveByLine(path, Process2String); return(pointsLoad); }