Beispiel #1
0
        public ng.WiringNodeOut createNodeOut_wiring()
        {
            ng.WiringNodeOut node = new ng.WiringNodeOut();
            node.Tooltip    = old.NodeType.OUT.ToString();
            node.IsEditable = false;
            node.Stroke     = System.Windows.Media.Brushes.Transparent;
            node.FontFamily = new System.Windows.Media.FontFamily("Arial");
            node.FontSize   = 11;
            node.Geometry   = new RectangleGeometry(new System.Windows.Rect(0, 0, 0, 0));

            return(node);
        }
Beispiel #2
0
        private void DoDrawingWiring(JCHVRF.Model.Project thisProject, ng.SystemVRF sysItem)
        {
            //if (tnOut == null) return;
            //if (this.tabControl1.SelectedTab.Name != "tpgWiring" && this.tabControl1.SelectedTab.Name != "tpgReport")
            //    return;
            //SystemVRF sysItem = tnOut.Tag as SystemVRF;
            //if (sysItem == null || sysItem.OutdoorItem == null)
            //    return;
            //curSystemItem = sysItem;

            string imgDir = @"/Image/TypeImages/";

            InitWiringNodes(addFlowWiring);

            //if (addFlowPiping.Nodes.Count == 0)       DOUBT
            //    BindPipingDrawing(tnOut);

            //ControllerWiringBLL bll = new ControllerWiringBLL(thisProject, addFlowControllerWiring);
            WiringBLL bll = new WiringBLL(thisProject, addFlowWiring);

            bll.CreateWiringNodeStructure(sysItem);

            ptArrayList.Clear();
            ptArrayList_power.Clear();
            ptArrayList_ground.Clear();
            ptArrayList_mainpower.Clear();
            strArrayList_powerType.Clear();
            strArrayList_powerVoltage.Clear();
            dArrayList_powerCurrent.Clear();

            if (sysItem == null || sysItem.MyWiringNodeOut == null)
            {
                return;
            }

            ng.WiringNodeOut nodeOut = sysItem.MyWiringNodeOut;
            if (nodeOut.ChildNodes.Count == 0 || sysItem.OutdoorItem == null)
            {
                DrawDiagError();
                return;
            }

            if (bll.IsHeatRecovery(sysItem))
            {
                DoDrawingHRWiring(sysItem, nodeOut, imgDir);
            }
            else
            {
                DoDrawingWiring(sysItem, nodeOut, imgDir);
            }
        }
Beispiel #3
0
        private void DrawWiringLegend(ng.WiringNodeOut nodeOut)
        {
            string text0 = "";
            string text1 = "Transmission Line";
            string text2 = "Electrical power line";
            string text3 = "Ground wire";

            Point ptf1 = new Point(0, nodeOut.Size.Height + 90f);

            convertedPointF = utilWiring.convertSystemPointToDrawingPoint(ptf1);
            utilWiring.createTextNode_wiring(text0, convertedPointF, nodeOut);

            ptf1            = new Point(105, ptf1.Y + 15f);
            convertedPointF = utilWiring.convertSystemPointToDrawingPoint(ptf1);
            utilWiring.createTextNode_wiring(text1, convertedPointF, nodeOut);

            ptf1            = new Point(105, ptf1.Y + 30f);
            convertedPointF = utilWiring.convertSystemPointToDrawingPoint(ptf1);
            utilWiring.createTextNode_wiring(text2, convertedPointF, nodeOut);

            ptf1            = new Point(105, ptf1.Y + 30f);
            convertedPointF = utilWiring.convertSystemPointToDrawingPoint(ptf1);
            utilWiring.createTextNode_wiring(text3, convertedPointF, nodeOut);

            Point ptf2 = new Point(nodeOut.Location.X, nodeOut.Location.Y + nodeOut.Size.Height + 110f);
            Point ptf3 = new Point(ptf2.X + 100, ptf2.Y);

            drawing.PointF convertedPtf2 = new drawing.PointF();
            drawing.PointF convertedPtf3 = new drawing.PointF();
            convertedPtf2 = utilWiring.convertSystemPointToDrawingPoint(ptf2);
            convertedPtf3 = utilWiring.convertSystemPointToDrawingPoint(ptf3);
            ptArrayList.Add(new drawing.PointF[] { convertedPtf2, convertedPtf3 });

            ptf2          = new Point(ptf2.X, ptf2.Y + 30f);
            ptf3          = new Point(ptf2.X + 100, ptf2.Y);
            convertedPtf2 = utilWiring.convertSystemPointToDrawingPoint(ptf2);
            convertedPtf3 = utilWiring.convertSystemPointToDrawingPoint(ptf3);
            ptArrayList_power.Add(new drawing.PointF[] { convertedPtf2, convertedPtf3 });

            ptf2          = new Point(ptf2.X, ptf2.Y + 30f);
            ptf3          = new Point(ptf2.X + 100, ptf2.Y);
            convertedPtf2 = utilWiring.convertSystemPointToDrawingPoint(ptf2);
            convertedPtf3 = utilWiring.convertSystemPointToDrawingPoint(ptf3);
            ptArrayList_ground.Add(new drawing.PointF[] { convertedPtf2, convertedPtf3 });
        }
Beispiel #4
0
        private List <ng.WiringNodeIn> getSortNodeInList(Object objList)
        {
            List <ng.WiringNodeIn> myNodeList     = new List <ng.WiringNodeIn>();
            List <ng.WiringNodeIn> sortNodeInList = new List <ng.WiringNodeIn>();
            List <ng.WiringNodeIn> mainNodeInList = new List <ng.WiringNodeIn>();

            if (objList is ng.WiringNodeOut)
            {
                ng.WiringNodeOut nodeOut = objList as ng.WiringNodeOut;
                foreach (Node node in nodeOut.ChildNodes)
                {
                    if (node is ng.WiringNodeIn)
                    {
                        ng.WiringNodeIn nodeIn = node as ng.WiringNodeIn;
                        myNodeList.Add(nodeIn);
                    }
                }
            }
            else if (objList is List <ng.WiringNodeIn> )
            {
                myNodeList = objList as List <ng.WiringNodeIn>;
            }
            else
            {
                return(sortNodeInList);
            }

            foreach (ng.WiringNodeIn nodeIn in myNodeList)
            {
                if (nodeIn.RoomIndoorItem.IsMainIndoor)
                {
                    mainNodeInList.Add(nodeIn);
                }
                //nodeCout++;
            }
            if (mainNodeInList.Count == 0)
            {
                for (int i = 0; i < myNodeList.Count; i++)
                {
                    sortNodeInList.Add(myNodeList[i]);
                }
            }
            else
            {
                foreach (ng.WiringNodeIn mianNodeIn in mainNodeInList)
                {
                    sortNodeInList.Add(mianNodeIn);

                    if (mianNodeIn.RoomIndoorItem.IndoorItemGroup != null)
                    {
                        foreach (ng.WiringNodeIn nodeIn in myNodeList)
                        {
                            foreach (JCHVRF.Model.RoomIndoor rind in mianNodeIn.RoomIndoorItem.IndoorItemGroup)
                            {
                                if (nodeIn.RoomIndoorItem == rind && !nodeIn.RoomIndoorItem.IsMainIndoor)
                                {
                                    sortNodeInList.Add(nodeIn);
                                    break;
                                }
                            }
                        }
                    }
                }

                if (sortNodeInList.Count < myNodeList.Count)
                {
                    foreach (ng.WiringNodeIn nodeIn in myNodeList)
                    {
                        if (!sortNodeInList.Contains(nodeIn))
                        {
                            sortNodeInList.Add(nodeIn);
                        }
                    }
                }
            }
            return(sortNodeInList);
        }
Beispiel #5
0
        private void DoDrawingWiring(ng.SystemVRF sysItem, ng.WiringNodeOut nodeOut, string imgDir)
        {
            Node textNode;

            drawing.Point  ptText        = new drawing.Point();
            drawing.PointF nodeOutPointF = new drawing.PointF();

            NodeElement_Wiring item_wiring = utilWiring.GetNodeElement_Wiring_ODU(sysItem.OutdoorItem, thisProject.BrandCode);

            nodeOut.Location = new Point(10f, UtilPiping.HeightForNodeText + UtilPiping.OutdoorOffset_Y_wiring + 36f);

            string imgFile = System.IO.Path.Combine(imgDir, item_wiring.KeyName + ".png");

            utilWiring.setNode_wiring(nodeOut, imgFile, addFlowWiring);

            drawing.PointF ptf1 = new drawing.PointF((float)(nodeOut.Location.X + 140), (float)(nodeOut.Location.Y + 20));
            drawing.PointF ptf2 = new drawing.PointF(ptf1.X + 74, ptf1.Y + 4);
            drawing.PointF ptf3 = new drawing.PointF(ptf2.X - 10, ptf2.Y);
            ptArrayList_ground.Add(new drawing.PointF[] { ptf1, ptf2, ptf3 });

            string text = "";

            ptText = item_wiring.PtNodeNames[0];

            text = sysItem.Name;
            utilWiring.createTextNode_wiring(text, ptText, nodeOut);
            if (item_wiring.UnitCount > 1)
            {
                text = sysItem.OutdoorItem.AuxModelName;
                utilWiring.createTextNode_wiring(text, item_wiring.PtNodeNames[1], nodeOut);
            }

            utilWiring.createTextNode_wiring(item_wiring.Str1, item_wiring.PtStr1, nodeOut);

            nodeOutPointF = utilWiring.convertSystemPointToDrawingPoint(nodeOut.Location);
            for (int i = 0; i < item_wiring.UnitCount; ++i)
            {
                ptf1 = UtilEMF.OffsetLocation(item_wiring.PtStrGroupLine2L[i], nodeOutPointF);
                ptf2 = UtilEMF.OffsetLocation(item_wiring.PtStrGroupLine2R[i], nodeOutPointF);
                ptArrayList_power.Add(new drawing.PointF[] { ptf1, ptf2 });

                if (i < item_wiring.ModelGroup.Length)
                {
                    utilWiring.createTextNode_wiring(item_wiring.ModelGroup[i], item_wiring.PtModelGroup[i], nodeOut);
                }
                if (item_wiring.ModelGroup.Length > 1 && i < item_wiring.StrGroup1.Length)
                {
                    utilWiring.createTextNode_wiring(item_wiring.StrGroup1[i], item_wiring.PtStrGroup1[i], nodeOut);
                }
                if (i < item_wiring.StrGroup2.Length)
                {
                    utilWiring.createTextNode_wiring(item_wiring.StrGroup2[i], item_wiring.PtStrGroup2[i], nodeOut);
                }
                if (i < item_wiring.StrGroup3.Length)
                {
                    utilWiring.createTextNode_wiring(item_wiring.StrGroup3[i], item_wiring.PtStrGroup3[i], nodeOut);
                }
                if (i < item_wiring.StrGroup4.Length)
                {
                    utilWiring.createTextNode_wiring(item_wiring.StrGroup4[i], item_wiring.PtStrGroup4[i], nodeOut, true);
                }
            }

            drawing.PointF ptf4 = new drawing.PointF(0, 0);
            drawing.PointF ptf5 = new drawing.PointF(0, 0);
            ptText    = item_wiring.PtNodeNames[0];
            ptText.Y += Convert.ToInt32(UtilPiping.HeightForNodeText / 2);


            List <ng.WiringNodeIn> sortNodeInList = getSortNodeInList(nodeOut);


            if (sortNodeInList == null)
            {
                return;
            }

            List <ng.WiringNodeIn> wiringNodeInList = new List <ng.WiringNodeIn>();

            DrawWiringNodes(nodeOut, sortNodeInList.ToList <ng.WiringNode>(), wiringNodeInList, imgDir, false);

            DrawWiringRemoteControllers(wiringNodeInList, imgDir);


            for (int i = 0; i < strArrayList_powerType.Count; i++)
            {
                ptArrayList_power.Add(ptArrayList_mainpower[i]);

                ptf4     = ptArrayList_mainpower[i][1];
                text     = strArrayList_powerVoltage[i] + "/" + dArrayList_powerCurrent[i].ToString() + "A";
                textNode = utilWiring.createTextNode_wiring(text, new drawing.PointF(ptf4.X + 122, ptf4.Y + 2));
                addFlowWiring.AddNode(textNode);
                text     = strArrayList_powerType[i];
                textNode = utilWiring.createTextNode_wiring(text, new drawing.PointF(ptf4.X + 166, ptf4.Y - 12));
                addFlowWiring.AddNode(textNode);
            }

            DrawWiringLegend(nodeOut);

            foreach (drawing.PointF[] pt in ptArrayList)
            {
                Node nd1 = utilWiring.createLinePoint(pt[0]);
                addFlowWiring.AddNode(nd1);
                Node nd2 = utilWiring.createLinePoint(pt[pt.Length - 1]);
                addFlowWiring.AddNode(nd2);
                //Link lnk1 = utilWiring.createLine();
                Link lnk1 = utilWiring.createLine(nd1, nd2, "", addFlowWiring);
                //nd1.OutLinks.Add(lnk1, nd2);
                addFlowWiring.AddLink(lnk1);

                if (pt.Length > 2)
                {
                    var pt1 = utilWiring.convertPointFToWinPoint(pt[1]);
                    lnk1.AddPoint(pt1);
                }
            }

            foreach (drawing.PointF[] pt in ptArrayList_power)
            {
                Node nd1 = utilWiring.createLinePoint(pt[0]);
                //addFlowWiring.Nodes.Add(nd1);
                addFlowWiring.AddNode(nd1);
                Node nd2  = utilWiring.createLinePoint(pt[pt.Length - 1]);
                Link lnk1 = utilWiring.createLine(nd1, nd2, "", addFlowWiring);

                if (pt.Length > 2)
                {
                    lnk1.LineStyle = LineStyle.VH;
                }
                //lnk1.Jump = Jump.Arc;
                //lnk1.DrawWidth = 1;
                lnk1.StrokeThickness = 1;

                //lnk1.DrawColor = Color.Red;
                lnk1.Stroke = System.Windows.Media.Brushes.Red;
                //nd1.OutLinks.Add(lnk1, nd2);
                addFlowWiring.AddLink(lnk1);
            }

            foreach (drawing.PointF[] pt in ptArrayList_ground)
            {
                if (pt.Length > 2)
                {
                    ng.MyNodeGround_Wiring nodeground = new ng.MyNodeGround_Wiring();
                    nodeground.Location = new Point(pt[2].X, pt[2].Y);
                    imgFile             = System.IO.Path.Combine(imgDir, "Ground.png");
                    utilWiring.setNode_wiring(nodeground, imgFile, addFlowWiring);
                    //nodeground.DrawColor = Color.Transparent;
                }
                Node nd1 = utilWiring.createLinePoint(pt[0]);
                //addFlowWiring.Nodes.Add(nd1);
                addFlowWiring.AddNode(nd1);
                Node nd2  = utilWiring.createLinePoint(pt[1]);
                Link lnk1 = utilWiring.createLine(nd1, nd2, "", addFlowWiring);
                lnk1.DashStyle = DashStyles.Dash;
                //nd1.OutLinks.Add(lnk1, nd2);
                addFlowWiring.AddLink(lnk1);
            }
        }