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); }
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); } }
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 }); }
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); }
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); } }