示例#1
0
        /// <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);
                }
            }
        }
示例#2
0
        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);
        }