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
|
{
|
/// <summary>
|
///
|
/// </summary>
|
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<RevitTank>();
|
revit.Pipes = new List<RevitPipe>();
|
revit.Pumps = new List<RevitPump>();
|
revit.Valves = new List<RevitValve>();
|
revit.Junctions = new List<RevitJunction>();
|
|
#region 水池1
|
|
var tankFileName1 = Path.Combine(DataFolder, "tank1.txt");
|
var tankInfo1 = JsonHelper.Json2Object<Yw.WinFrmUI.Bimface.ClickIn3dInfo>(File.ReadAllText(tankFileName1));
|
var revitTank1 = new RevitTank();
|
revitTank1.Id = tankInfo1.ObjectId;
|
revitTank1.Name = "水池1";
|
revitTank1.Code = tankInfo1.ObjectId;
|
revitTank1.Flags = new List<string>() { "标签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<Yw.WinFrmUI.Bimface.ClickIn3dInfo>(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<Yw.WinFrmUI.Bimface.ClickIn3dInfo>(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<Yw.WinFrmUI.Bimface.ClickIn3dInfo>(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<Yw.WinFrmUI.Bimface.ClickIn3dInfo>(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<Yw.WinFrmUI.Bimface.ClickIn3dInfo>(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<Yw.WinFrmUI.Bimface.ClickIn3dInfo>(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<Yw.WinFrmUI.Bimface.ClickIn3dInfo>(File.ReadAllText(junctionFileName1));
|
var revitJunction1 = new RevitJunction();
|
revitJunction1.Id = junctionInfo1.ObjectId;
|
revitJunction1.Name = "节点1";
|
revitJunction1.Code = junctionInfo1.ObjectId;
|
revitJunction1.Flags = new List<string>() { "标签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<Yw.WinFrmUI.Bimface.ClickIn3dInfo>(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<Yw.WinFrmUI.Bimface.ClickIn3dInfo>(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<Yw.WinFrmUI.Bimface.ClickIn3dInfo>(File.ReadAllText(junctionFileName2));
|
var revitJunction2 = new RevitJunction();
|
revitJunction2.Id = junctionInfo2.ObjectId;
|
revitJunction2.Name = "喷头1";
|
revitJunction2.Code = junctionInfo2.ObjectId;
|
revitJunction2.Flags = new List<string>() { "标签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);
|
|
}
|
}
|
}
|