| | |
| | | using System.Text; |
| | | using System.Text.RegularExpressions; |
| | | using Hydro.CommonBase; |
| | | //using Hydro.CommonBase; |
| | | |
| | | namespace Yw.EPAnet |
| | | { |
| | |
| | | var pTemp = o.DemandPattern; |
| | | if (string.IsNullOrEmpty(pTemp) || pTemp == ";" || pTemp == "_") pTemp = ""; |
| | | junctionStringBuilder.AppendLine($"{o.Id}\t{o.Elev}\t{o.Demand}\t{pTemp}\t;\t" + $"0\tNozzle\t{o.Coefficient}"); |
| | | emitterStringBuilder.Append(o.Id + " " + o.Coefficient); |
| | | emitterStringBuilder.AppendLine(o.Id + " " + o.Coefficient); |
| | | coorStringBuilder.AppendLine(o.Id + " " + o.Position.X + " " + o.Position.Y); |
| | | }); |
| | | |
| | |
| | | net.Tanks.ForEach(o => |
| | | { |
| | | |
| | | tankStringBuilder.AppendLine($"{o.Id}\t{o.PoolElev}\t{o.InitLevel}\t{o.MinLevel}\t{o.MaxLevel}\t{o.Diameter}\t{o.MinVol}\t{o.VolCurve}\t{o.Overflow}\t;\t");// + $"0"); |
| | | // tankStringBuilder.AppendLine($"{o.Id}\t{o.PoolElev}\t{o.InitLevel}\t{o.MinLevel}\t{o.MaxLevel}\t{o.Diameter}\t{o.MinVol}\t{o.VolCurve}\t{o.Overflow}\t;\t");// + $"0"); |
| | | tankStringBuilder.AppendLine($"{o.Id}\t{o.PoolElev}\t{o.InitLevel}\t{o.MinLevel}\t{o.MaxLevel}\t{o.Diameter}\t{o.MinVol}\t{o.VolCurve}\t;\t");// + $"0"); |
| | | coorStringBuilder.AppendLine(o.Id + " " + o.Position.X + " " + o.Position.Y); |
| | | }); |
| | | string tankString = tankStringBuilder.ToString(); |
| | |
| | | |
| | | StringBuilder pumpStringBuilder = new StringBuilder(); |
| | | |
| | | pumpStringBuilder.AppendLine(";ID Node1 Node2 Diameter Type Setting MinorLoss "); |
| | | pumpStringBuilder.AppendLine(";ID Node1 Node2 Parameters "); |
| | | |
| | | net.Pumps.ForEach(o => |
| | | { |
| | |
| | | |
| | | net.Curves.ForEach(o => |
| | | { |
| | | curveStringBuilder.AppendLine(o.ToString()); |
| | | var curvePtList = o.CurveData?.OrderBy(x => x.X).ToList(); |
| | | foreach (var curvePt in curvePtList) |
| | | { |
| | | curveStringBuilder.AppendLine($"{o.Id} {curvePt.X} {curvePt.Y}"); |
| | | } |
| | | //curveStringBuilder.AppendLine(o.ToString()); |
| | | }); |
| | | string curveString = curveStringBuilder.ToString(); |
| | | string coorString = coorStringBuilder.ToString(); |
| | |
| | | string s = line.Trim('\t').Trim(' '); |
| | | if (s.Length == 0 || s[0] == ';') continue; |
| | | line = line.Replace("\t\t", "\t_\t").Replace("\t \t", "\t_\t"); |
| | | Parts parts = new Parts(line.Split(new char[] { '\t', ' ', ';' }, StringSplitOptions.RemoveEmptyEntries)); |
| | | InpParts parts = new InpParts(line.Split(new char[] { '\t', ' ', ';' }, StringSplitOptions.RemoveEmptyEntries)); |
| | | switch (section) |
| | | { |
| | | case "JUNCTIONS": |