| | |
| | | x.Roughness = 110; |
| | | } |
| | | string statusString = x.LinkStatus == PipeStatus.Closed ? "CLOSED" : ""; |
| | | pipeSb.AppendLine($"{x.Id}\t{x.StartNode.Id}\t{x.EndNode.Id}\t{x.Length}\t{x.Diameter}\t{x.Roughness}\t{x.MinorLoss}\t{statusString}\t;\t");// + $"{p.Level}"); |
| | | double minorLoss = x.MinorLoss + x.EndMinorloss + x.StartMinorloss; |
| | | pipeSb.AppendLine($"{x.Id}\t{x.StartNode.Id}\t{x.EndNode.Id}\t{x.Length}\t{x.Diameter}\t{x.Roughness}\t{minorLoss}\t{statusString}\t;\t");// + $"{p.Level}"); |
| | | if (x.LinkStatus != PipeStatus.Open) |
| | | { |
| | | statusSb.AppendLine(x.Id + "\t" + statusString); |
| | |
| | | float minorLoss; |
| | | if (float.TryParse(parts[6], out minorLoss)) |
| | | p.MinorLoss = minorLoss; |
| | | p.LinkStatus = parts.Length > 7 ? PipeStatus.Closed : PipeStatus.Open; |
| | | //int level; |
| | | //if (int.TryParse(parts[8], out level)) |
| | | // p.Level = level; |
| | | p.LinkStatus = parts.Length > 7 ? (parts[7].ToUpper().Contains("CLOSE")? PipeStatus.Closed : PipeStatus.Open) : PipeStatus.Open; |
| | | |
| | | net.Pipes.Add(p); |
| | | } |
| | | break; |
| | |
| | | |
| | | } |
| | | break; |
| | | case "PUMPS": |
| | | { |
| | | InpPump pump = new InpPump(); |
| | | |
| | | pump.Id = parts.ToString(0, null); |
| | | |
| | | // 取出Node1和Node2中的字母部分,例如“S201326593”被取出为“201326593” |
| | | pump.Node1 = parts.ToString(1, null); // Regex.Replace(parts[1], "[^0-9]", ""); |
| | | pump.Node2 = parts.ToString(2, null);// parts.ToString(2, null); // Regex.Replace(parts[2], "[^0-9]", ""); |
| | | int index = 3; |
| | | string label = null; |
| | | while ((label = parts.ToString(index, null)) != null) |
| | | { |
| | | label = label.ToUpper(); |
| | | switch (label) |
| | | { |
| | | case "HEAD": |
| | | pump.CurveQH = parts.ToString(index + 1, "PumpDefault"); |
| | | break; |
| | | case "SPEED": |
| | | pump.SpeedRatio = parts.ToFloat(index + 1, 0); |
| | | break; |
| | | } |
| | | index += 2; |
| | | } |
| | | //pump.Diameter = parts.ToFloat(3, 0); |
| | | |
| | | pump.LinkStatus = "OPEN"; |
| | | net.Pumps.Add(pump); |
| | | } |
| | | break; |
| | | case "STATUS": |
| | | { |
| | | Link link = net.GetAllLinks().Find(l => l.Id == parts.ToString(0, null)); |
| | | if (link != null) |
| | | link.LinkStatus = parts[1]; |
| | | } |
| | | break; |
| | | case "COORDINATES": |
| | | { |
| | | string id = parts[0]; |