using HStation.Model; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using Yw; namespace HStation.Desktop { /// /// /// public class RevitTestHelper { private static string DataFolder { get { return Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "测试文件"); } } public static string GenerateJson() { var revit = new HStation.Model.RevitModel(); revit.Name = "测试简单用例"; revit.Description = "测试简单用例,测试联通性"; revit.Tanks = new List(); revit.Pipes = new List(); revit.Pumps = new List(); revit.Valves = new List(); revit.Junctions = new List(); #region 水池1 var tankFileName1 = Path.Combine(DataFolder, "tank1.txt"); var tankInfo1 = JsonHelper.Json2Object(File.ReadAllText(tankFileName1)); var revitTank1 = new RevitTank(); revitTank1.Id = tankInfo1.ObjectId; revitTank1.Name = "水池1"; revitTank1.Code = tankInfo1.ObjectId; revitTank1.Flags = new List() { "标签1", "标签2" }; revitTank1.Description = null; revitTank1.ModelType = null; revitTank1.Quality = 0; revitTank1.PoolElev = 0; revitTank1.InitLevel = 0; revitTank1.MinLevel = 0; revitTank1.MaxLevel = 0; revitTank1.Diameter = 0; revitTank1.MinVol = 0; revitTank1.VolCurve = null; revit.Tanks.Add(revitTank1); #endregion #region 过渡件1 var middleFileName1 = Path.Combine(DataFolder, "过渡件1.txt"); var middleInfo1 = JsonHelper.Json2Object(File.ReadAllText(middleFileName1)); var revitMiddle1 = new RevitPipe(); revitMiddle1.Id = middleInfo1.ObjectId; revitMiddle1.Name = "过渡件1"; revitMiddle1.Code = middleInfo1.ObjectId; revitMiddle1.Flags = null; revitMiddle1.Description = null; revitMiddle1.ModelType = null; revitMiddle1.StartCode = tankInfo1.ObjectId; revitMiddle1.EndCode = null; revitMiddle1.LinkStatus = "Open"; revitMiddle1.StartElev = 0; revitMiddle1.EndElev = 0; revitMiddle1.Diameter = 0; revitMiddle1.Length = 0; revitMiddle1.Roughness = 0; revitMiddle1.MinorLoss = 0; revit.Pipes.Add(revitMiddle1); #endregion #region 管道1 var pipeFileName1 = Path.Combine(DataFolder, "pipe1.txt"); var pipeInfo1 = JsonHelper.Json2Object(File.ReadAllText(pipeFileName1)); var revitPipe1 = new RevitPipe(); revitPipe1.Id = pipeInfo1.ObjectId; revitPipe1.Name = "管道1"; revitPipe1.Code = pipeInfo1.ObjectId; revitPipe1.Flags = null; revitPipe1.Description = null; revitPipe1.ModelType = null; revitPipe1.StartCode = middleInfo1.ObjectId; revitPipe1.EndCode = null; revitPipe1.LinkStatus = "Open"; revitPipe1.StartElev = 0; revitPipe1.EndElev = 0; revitPipe1.Diameter = 0; revitPipe1.Length = 0; revitPipe1.Roughness = 0; revitPipe1.MinorLoss = 0; revit.Pipes.Add(revitPipe1); revitMiddle1.EndCode = pipeInfo1.ObjectId; #endregion #region 阀门1 var valveFileName1 = Path.Combine(DataFolder, "valve1.txt"); var valveInfo1 = JsonHelper.Json2Object(File.ReadAllText(valveFileName1)); var revitValve1 = new RevitValve(); revitValve1.Id = valveInfo1.ObjectId; revitValve1.Name = "阀门1"; revitValve1.Code = valveInfo1.ObjectId; revitValve1.Flags = null; revitValve1.Description = null; revitValve1.ModelType = null; revitValve1.StartCode = pipeInfo1.ObjectId; revitValve1.EndCode = null; revitValve1.LinkStatus = "Open"; revitValve1.StartElev = 0; revitValve1.EndElev = 0; revitValve1.Diameter = 0; revitValve1.MinorLoss = 0; revitValve1.ValveType = "GPV"; revitValve1.ValveSetting = null; revit.Valves.Add(revitValve1); revitPipe1.EndCode = valveInfo1.ObjectId; #endregion #region 管道2 var pipeFileName2 = Path.Combine(DataFolder, "pipe2.txt"); var pipeInfo2 = JsonHelper.Json2Object(File.ReadAllText(pipeFileName2)); var revitPipe2 = new RevitPipe(); revitPipe2.Id = pipeInfo2.ObjectId; revitPipe2.Name = "管道2"; revitPipe2.Code = pipeInfo2.ObjectId; revitPipe2.Flags = null; revitPipe2.Description = null; revitPipe2.ModelType = null; revitPipe2.StartCode = valveInfo1.ObjectId; revitPipe2.EndCode = null; revitPipe2.LinkStatus = "Open"; revitPipe2.StartElev = 0; revitPipe2.EndElev = 0; revitPipe2.Diameter = 0; revitPipe2.Length = 0; revitPipe2.Roughness = 0; revitPipe2.MinorLoss = 0; revit.Pipes.Add(revitPipe2); revitValve1.EndCode = pipeInfo2.ObjectId; #endregion #region 水泵1 var pumpFileName1 = Path.Combine(DataFolder, "pump1.txt"); var pumpInfo1 = JsonHelper.Json2Object(File.ReadAllText(pumpFileName1)); var revitPump1 = new RevitPump(); revitPump1.Id = pumpInfo1.ObjectId; revitPump1.Name = "水泵1"; revitPump1.Code = pumpInfo1.ObjectId; revitPump1.Flags = null; revitPump1.Description = null; revitPump1.ModelType = null; revitPump1.StartCode = pipeInfo2.ObjectId; revitPump1.EndCode = null; revitPump1.LinkStatus = "Open"; revitPump1.StartElev = 0; revitPump1.EndElev = 0; revitPump1.RatedPower = 0; revitPump1.CurveQH = null; revitPump1.SpeedRatio = null; revitPump1.SpeedRatioPattern = null; revitPump1.Price = null; revitPump1.PricePattern = null; revitPump1.CurveQE = null; revit.Pumps.Add(revitPump1); revitPipe2.EndCode = pumpInfo1.ObjectId; #endregion #region 管道3 var pipeFileName3 = Path.Combine(DataFolder, "pipe3.txt"); var pipeInfo3 = JsonHelper.Json2Object(File.ReadAllText(pipeFileName3)); var revitPipe3 = new RevitPipe(); revitPipe3.Id = pipeInfo3.ObjectId; revitPipe3.Name = "过渡件1"; revitPipe3.Code = pipeInfo3.ObjectId; revitPipe3.Flags = null; revitPipe3.Description = null; revitPipe3.ModelType = null; revitPipe3.StartCode = pumpInfo1.ObjectId; revitPipe3.EndCode = null; revitPipe3.LinkStatus = "Open"; revitPipe3.StartElev = 0; revitPipe3.EndElev = 0; revitPipe3.Diameter = 0; revitPipe3.Length = 0; revitPipe3.Roughness = 0; revitPipe3.MinorLoss = 0; revit.Pipes.Add(revitPipe3); revitPump1.EndCode = pipeInfo3.ObjectId; #endregion #region 节点1 var junctionFileName1 = Path.Combine(DataFolder, "junction1.txt"); var junctionInfo1 = JsonHelper.Json2Object(File.ReadAllText(junctionFileName1)); var revitJunction1 = new RevitJunction(); revitJunction1.Id = junctionInfo1.ObjectId; revitJunction1.Name = "节点1"; revitJunction1.Code = junctionInfo1.ObjectId; revitJunction1.Flags = new List() { "标签1", "标签2" }; revitJunction1.Description = null; revitJunction1.ModelType = null; revitJunction1.Quality = 0; revitJunction1.Elev = 0; revitJunction1.Demand = null; revitJunction1.DemandPattern = null; revit.Junctions.Add(revitJunction1); revitPipe3.EndCode = junctionInfo1.ObjectId; #endregion #region 管道4 var pipeFileName4 = Path.Combine(DataFolder, "pipe4.txt"); var pipeInfo4 = JsonHelper.Json2Object(File.ReadAllText(pipeFileName4)); var revitPipe4 = new RevitPipe(); revitPipe4.Id = pipeInfo4.ObjectId; revitPipe4.Name = "管道4"; revitPipe4.Code = pipeInfo4.ObjectId; revitPipe4.Flags = null; revitPipe4.Description = null; revitPipe4.ModelType = null; revitPipe4.StartCode = junctionInfo1.ObjectId; revitPipe4.EndCode = null; revitPipe4.LinkStatus = "Open"; revitPipe4.StartElev = 0; revitPipe4.EndElev = 0; revitPipe4.Diameter = 0; revitPipe4.Length = 0; revitPipe4.Roughness = 0; revitPipe4.MinorLoss = 0; revit.Pipes.Add(revitPipe4); #endregion #region 过渡件2 var middleFileName2 = Path.Combine(DataFolder, "过渡件2.txt"); var middleInfo2 = JsonHelper.Json2Object(File.ReadAllText(middleFileName2)); var revitMiddle2 = new RevitPipe(); revitMiddle2.Id = middleInfo2.ObjectId; revitMiddle2.Name = "过渡件2"; revitMiddle2.Code = middleInfo2.ObjectId; revitMiddle2.Flags = null; revitMiddle2.Description = null; revitMiddle2.ModelType = null; revitMiddle2.StartCode = pipeInfo4.ObjectId; revitMiddle2.EndCode = null; revitMiddle2.LinkStatus = "Open"; revitMiddle2.StartElev = 0; revitMiddle2.EndElev = 0; revitMiddle2.Diameter = 0; revitMiddle2.Length = 0; revitMiddle2.Roughness = 0; revitMiddle2.MinorLoss = 0; revit.Pipes.Add(revitMiddle2); revitPipe4.EndCode = middleInfo2.ObjectId; #endregion #region 节点2 var junctionFileName2 = Path.Combine(DataFolder, "junction2.txt"); var junctionInfo2 = JsonHelper.Json2Object(File.ReadAllText(junctionFileName2)); var revitJunction2 = new RevitJunction(); revitJunction2.Id = junctionInfo2.ObjectId; revitJunction2.Name = "喷头1"; revitJunction2.Code = junctionInfo2.ObjectId; revitJunction2.Flags = new List() { "标签1", "标签2" }; revitJunction2.Description = null; revitJunction2.ModelType = null; revitJunction2.Quality = 0; revitJunction2.Elev = 0; revitJunction2.Demand = null; revitJunction2.DemandPattern = null; revit.Junctions.Add(revitJunction2); revitMiddle2.EndCode = junctionInfo2.ObjectId; #endregion return JsonHelper.Object2Json(revit); } } }