| | |
| | | using System.ComponentModel; |
| | | using System.Data; |
| | | using System.Drawing; |
| | | using System.IO; |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | using System.Windows.Forms; |
| | | using Yw.EPAnet.Calcu; |
| | | using Yw.EPAnet; |
| | | using Yw.WinFrmUI.Q3d; |
| | | |
| | | namespace Hydro.ClientTool |
| | |
| | | |
| | | private void Form2_Load(object sender, EventArgs e) |
| | | { |
| | | NetWork network = new NetWork(); |
| | | network.BuildFromInp(@"temp/temp.inp"); |
| | | NetworkViewModel mapNetwork = new NetworkViewModel(); |
| | | foreach (var node in network.Nodes) |
| | | { |
| | | NodeViewModel viewNode=null; |
| | | if (node is MeterModel meter) |
| | | { |
| | | viewNode = new MeterViewModel(); |
| | | viewNode.X = meter.X; |
| | | viewNode.Y = meter.Y; |
| | | viewNode.Name = meter.Name; |
| | | viewNode.ID = meter.ID; |
| | | viewNode.Z = meter.Elev; |
| | | viewNode.Demand = meter.Demand; |
| | | } |
| | | else if (node is JunctionModel j) |
| | | { |
| | | viewNode = new JunctionViewModel(); |
| | | viewNode.X = j.X; |
| | | viewNode.Y = j.Y; |
| | | viewNode.Name = j.Name; |
| | | viewNode.ID = j.ID; |
| | | viewNode.Z = j.Elev; |
| | | viewNode.Demand = j.Demand; |
| | | } |
| | | else if (node is ReservoisModel res) |
| | | { |
| | | viewNode= new ReservoirViewModel(); |
| | | viewNode.X = res.X; |
| | | viewNode.Y = res.Y; |
| | | viewNode.Name = res.Name; |
| | | viewNode.ID = res.ID; |
| | | viewNode.Z = res.Elev; |
| | | ((ReservoirViewModel)viewNode).Head = res.Head; |
| | | } |
| | | |
| | | mapNetwork.Nodes.Add(viewNode); |
| | | } |
| | | foreach(var link in network.Links) |
| | | { |
| | | LinkViewModel viewLink = null; |
| | | //判断如果是管道 |
| | | if (link is PipeModel pipe) |
| | | { |
| | | viewLink = new PipeViewModel(); |
| | | viewLink.ID = pipe.ID; |
| | | viewLink.Node1 = pipe.Node1; |
| | | viewLink.Node2 = pipe.Node2; |
| | | viewLink.Diameter = pipe.Diameter; |
| | | viewLink.Length = pipe.Length; |
| | | viewLink.Roughness = pipe.Roughness; |
| | | |
| | | } |
| | | else if (link is ValveModel valve) |
| | | { |
| | | viewLink = new ValveViewModel(); |
| | | viewLink.ID= valve.ID; |
| | | viewLink.Node1 = valve.Node1; |
| | | viewLink.Node2 = valve.Node2; |
| | | viewLink.Diameter = valve.Diameter; |
| | | viewLink.Length = valve.Length; |
| | | viewLink.Roughness = valve.Roughness; |
| | | } |
| | | mapNetwork.Links.Add(viewLink); |
| | | |
| | | string inptxt=File.ReadAllText(@"D:\Desktop\D_Production\工具项目\ISupply\XHS.V1.0\Hydro\bin\debug\net6.0-windows\test.inp"); |
| | | Network network = InpInteropHelper.FromInpString(inptxt); |
| | | |
| | | |
| | | } |
| | | mapNetwork.BuildRelation(); |
| | | map.SetData(mapNetwork); |
| | | NetworkViewModel net=new NetworkViewModel(); |
| | | |
| | | } |
| | | |
| | | //帮我编写一个方法,将network转换为NetworkViewModel |
| | | public NetworkViewModel ConvertNetworkToNetworkViewModel(Network network) |
| | | { |
| | | NetworkViewModel net = new NetworkViewModel(); |
| | | |
| | | return net; |
| | | } |
| | | private void Form2_KeyDown(object sender, KeyEventArgs e) |
| | | { |
| | | map.MapViewer_KeyDown(sender, e); |