From bc8d900f5ca26216dae0e1be243ab6237790873b Mon Sep 17 00:00:00 2001 From: lixiaojun <1287241240@qq.com> Date: 星期一, 21 十月 2024 10:56:42 +0800 Subject: [PATCH] 部分调试升级 --- Hydro/HStation.Hydro.Core/TransferHelper.cs | 1342 +++++++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 944 insertions(+), 398 deletions(-) diff --git a/Hydro/HStation.Hydro.Core/TransferHelper.cs b/Hydro/HStation.Hydro.Core/TransferHelper.cs index 7c206a0..53e8c6e 100644 --- a/Hydro/HStation.Hydro.Core/TransferHelper.cs +++ b/Hydro/HStation.Hydro.Core/TransferHelper.cs @@ -1,4 +1,7 @@ -锘縩amespace HStation.Hydro +锘縰sing HStation.Model; +using Yw.Model; + +namespace HStation.Hydro { /// <summary> /// 杞崲杈呭姪绫� @@ -23,27 +26,13 @@ //姘村簱 if (revitModel.Reservoirs != null && revitModel.Reservoirs.Count > 0) { + if (hydro.Reservoirs == null) + { + hydro.Reservoirs = new List<Yw.Model.HydroReservoirInfo>(); + } foreach (var revitReservoir in revitModel.Reservoirs) { - var reservoir = new Yw.Model.HydroReservoirInfo(); - reservoir.Catalog = Yw.Hydro.ParterCatalog.Reservoir; - reservoir.Name = revitReservoir.Name; - reservoir.Code = revitReservoir.Code; - reservoir.ModelType = revitReservoir.ModelType; - reservoir.Flags = revitReservoir.Flags; - reservoir.Description = revitReservoir.Description; - reservoir.Quality = revitReservoir.Quality; - reservoir.PoolElev = revitReservoir.PoolElev; - reservoir.Head = revitReservoir.Head; - reservoir.HeadPattern = revitReservoir.HeadPattern; - reservoir.Position2d = new Yw.Model.Hydro.Position2d(revitReservoir.Position.X, revitReservoir.Position.Y); - reservoir.Position3d = new Yw.Model.Hydro.Position3d(revitReservoir.Position.X, revitReservoir.Position.Y, revitReservoir.Position.Z); - reservoir.ScenePropValueList = revitReservoir.PropValueList?.Select(x => new Yw.Model.HydroParterScenePropValueInfo() - { - Scene = HStation.Revit.ConstParas.Scene, - PropName = x.PropName, - PropValue = x.PropValue - }).ToList(); + var reservoir = FromRevit(revitReservoir); hydro.Reservoirs.Add(reservoir); } } @@ -51,31 +40,13 @@ //姘存睜 if (revitModel.Tanks != null && revitModel.Tanks.Count > 0) { + if (hydro.Tanks == null) + { + hydro.Tanks = new List<Yw.Model.HydroTankInfo>(); + } foreach (var revitTank in revitModel.Tanks) { - var tank = new Yw.Model.HydroTankInfo(); - tank.Catalog = Yw.Hydro.ParterCatalog.Tank; - tank.Name = revitTank.Name; - tank.Code = revitTank.Code; - tank.ModelType = revitTank.ModelType; - tank.Flags = revitTank.Flags; - tank.Description = revitTank.Description; - tank.Quality = revitTank.Quality; - tank.PoolElev = revitTank.PoolElev; - tank.InitLevel = revitTank.InitLevel; - tank.MinLevel = revitTank.MinLevel; - tank.MaxLevel = revitTank.MaxLevel; - tank.DN = revitTank.DN; - tank.MinVol = revitTank.MinVol; - tank.VolCurve = revitTank.VolCurve; - tank.Position2d = new Yw.Model.Hydro.Position2d(revitTank.Position.X, revitTank.Position.Y); - tank.Position3d = new Yw.Model.Hydro.Position3d(revitTank.Position.X, revitTank.Position.Y, revitTank.Position.Z); - tank.ScenePropValueList = revitTank.PropValueList?.Select(x => new Yw.Model.HydroParterScenePropValueInfo() - { - Scene = HStation.Revit.ConstParas.Scene, - PropName = x.PropName, - PropValue = x.PropValue - }).ToList(); + var tank = FromRevit(revitTank); hydro.Tanks.Add(tank); } } @@ -83,31 +54,13 @@ //姘寸 if (revitModel.Waterboxs != null && revitModel.Waterboxs.Count > 0) { + if (hydro.Waterboxs == null) + { + hydro.Waterboxs = new List<Yw.Model.HydroWaterboxInfo>(); + } foreach (var revitWaterbox in revitModel.Waterboxs) { - var waterbox = new Yw.Model.HydroWaterboxInfo(); - waterbox.Catalog = Yw.Hydro.ParterCatalog.Waterbox; - waterbox.Name = revitWaterbox.Name; - waterbox.Code = revitWaterbox.Code; - waterbox.ModelType = revitWaterbox.ModelType; - waterbox.Flags = revitWaterbox.Flags; - waterbox.Description = revitWaterbox.Description; - waterbox.Quality = revitWaterbox.Quality; - waterbox.PoolElev = revitWaterbox.PoolElev; - waterbox.InitLevel = revitWaterbox.InitLevel; - waterbox.MinLevel = revitWaterbox.MinLevel; - waterbox.MaxLevel = revitWaterbox.MaxLevel; - waterbox.DN = revitWaterbox.DN; - waterbox.MinVol = revitWaterbox.MinVol; - waterbox.VolCurve = revitWaterbox.VolCurve; - waterbox.Position2d = new Yw.Model.Hydro.Position2d(revitWaterbox.Position.X, revitWaterbox.Position.Y); - waterbox.Position3d = new Yw.Model.Hydro.Position3d(revitWaterbox.Position.X, revitWaterbox.Position.Y, revitWaterbox.Position.Z); - waterbox.ScenePropValueList = revitWaterbox.PropValueList?.Select(x => new Yw.Model.HydroParterScenePropValueInfo() - { - Scene = HStation.Revit.ConstParas.Scene, - PropName = x.PropName, - PropValue = x.PropValue - }).ToList(); + var waterbox = FromRevit(revitWaterbox); hydro.Waterboxs.Add(waterbox); } } @@ -115,55 +68,41 @@ //杩炴帴鑺傜偣 if (revitModel.Junctions != null && revitModel.Junctions.Count > 0) { + if (hydro.Junctions == null) + { + hydro.Junctions = new List<Yw.Model.HydroJunctionInfo>(); + } foreach (var revitJunction in revitModel.Junctions) { - var junction = new Yw.Model.HydroJunctionInfo(); - junction.Catalog = Yw.Hydro.ParterCatalog.Junction; - junction.Name = revitJunction.Name; - junction.Code = revitJunction.Code; - junction.ModelType = revitJunction.ModelType; - junction.Flags = revitJunction.Flags; - junction.Description = revitJunction.Description; - junction.Quality = revitJunction.Quality; - junction.Elev = revitJunction.Elev; - junction.Demand = revitJunction.Demand; - junction.DemandPattern = revitJunction.DemandPattern; - junction.Position2d = new Yw.Model.Hydro.Position2d(revitJunction.Position.X, revitJunction.Position.Y); - junction.Position3d = new Yw.Model.Hydro.Position3d(revitJunction.Position.X, revitJunction.Position.Y, revitJunction.Position.Z); - junction.ScenePropValueList = revitJunction.PropValueList?.Select(x => new Yw.Model.HydroParterScenePropValueInfo() - { - Scene = HStation.Revit.ConstParas.Scene, - PropName = x.PropName, - PropValue = x.PropValue - }).ToList(); + var junction = FromRevit(revitJunction); hydro.Junctions.Add(junction); + } + } + + //闂峰ご + if (revitModel.Bluntheads != null && revitModel.Bluntheads.Count > 0) + { + if (hydro.Bluntheads == null) + { + hydro.Bluntheads = new List<Yw.Model.HydroBluntheadInfo>(); + } + foreach (var revitBlunthead in revitModel.Bluntheads) + { + var blunthead = FromRevit(revitBlunthead); + hydro.Bluntheads.Add(blunthead); } } //寮ご if (revitModel.Elbows != null && revitModel.Elbows.Count > 0) { + if (hydro.Elbows == null) + { + hydro.Elbows = new List<HydroElbowInfo>(); + } foreach (var revitElbow in revitModel.Elbows) { - var elbow = new Yw.Model.HydroElbowInfo(); - elbow.Catalog = Yw.Hydro.ParterCatalog.Elbow; - elbow.Name = revitElbow.Name; - elbow.Code = revitElbow.Code; - elbow.ModelType = revitElbow.ModelType; - elbow.Flags = revitElbow.Flags; - elbow.Description = revitElbow.Description; - elbow.Quality = revitElbow.Quality; - elbow.Elev = revitElbow.Elev; - elbow.Demand = revitElbow.Demand; - elbow.DemandPattern = revitElbow.DemandPattern; - elbow.Position2d = new Yw.Model.Hydro.Position2d(revitElbow.Position.X, revitElbow.Position.Y); - elbow.Position3d = new Yw.Model.Hydro.Position3d(revitElbow.Position.X, revitElbow.Position.Y, revitElbow.Position.Z); - elbow.ScenePropValueList = revitElbow.PropValueList?.Select(x => new Yw.Model.HydroParterScenePropValueInfo() - { - Scene = HStation.Revit.ConstParas.Scene, - PropName = x.PropName, - PropValue = x.PropValue - }).ToList(); + var elbow = FromRevit(revitElbow); hydro.Elbows.Add(elbow); } } @@ -171,27 +110,13 @@ //涓夐�� if (revitModel.Threelinks != null && revitModel.Threelinks.Count > 0) { + if (hydro.Threelinks == null) + { + hydro.Threelinks = new List<HydroThreelinkInfo>(); + } foreach (var revitThreelink in revitModel.Threelinks) { - var threelink = new Yw.Model.HydroThreelinkInfo(); - threelink.Catalog = Yw.Hydro.ParterCatalog.Threelink; - threelink.Name = revitThreelink.Name; - threelink.Code = revitThreelink.Code; - threelink.ModelType = revitThreelink.ModelType; - threelink.Flags = revitThreelink.Flags; - threelink.Description = revitThreelink.Description; - threelink.Quality = revitThreelink.Quality; - threelink.Elev = revitThreelink.Elev; - threelink.Demand = revitThreelink.Demand; - threelink.DemandPattern = revitThreelink.DemandPattern; - threelink.Position2d = new Yw.Model.Hydro.Position2d(revitThreelink.Position.X, revitThreelink.Position.Y); - threelink.Position3d = new Yw.Model.Hydro.Position3d(revitThreelink.Position.X, revitThreelink.Position.Y, revitThreelink.Position.Z); - threelink.ScenePropValueList = revitThreelink.PropValueList?.Select(x => new Yw.Model.HydroParterScenePropValueInfo() - { - Scene = HStation.Revit.ConstParas.Scene, - PropName = x.PropName, - PropValue = x.PropValue - }).ToList(); + var threelink = FromRevit(revitThreelink); hydro.Threelinks.Add(threelink); } } @@ -199,113 +124,55 @@ //鍥涢�� if (revitModel.Fourlinks != null && revitModel.Fourlinks.Count > 0) { + if (hydro.Fourlinks == null) + { + hydro.Fourlinks = new List<HydroFourlinkInfo>(); + } foreach (var revitFourlink in revitModel.Fourlinks) { - var fourlink = new Yw.Model.HydroFourlinkInfo(); - fourlink.Catalog = Yw.Hydro.ParterCatalog.Fourlink; - fourlink.Name = revitFourlink.Name; - fourlink.Code = revitFourlink.Code; - fourlink.ModelType = revitFourlink.ModelType; - fourlink.Flags = revitFourlink.Flags; - fourlink.Description = revitFourlink.Description; - fourlink.Quality = revitFourlink.Quality; - fourlink.Elev = revitFourlink.Elev; - fourlink.Demand = revitFourlink.Demand; - fourlink.DemandPattern = revitFourlink.DemandPattern; - fourlink.Position2d = new Yw.Model.Hydro.Position2d(revitFourlink.Position.X, revitFourlink.Position.Y); - fourlink.Position3d = new Yw.Model.Hydro.Position3d(revitFourlink.Position.X, revitFourlink.Position.Y, revitFourlink.Position.Z); - fourlink.ScenePropValueList = revitFourlink.PropValueList?.Select(x => new Yw.Model.HydroParterScenePropValueInfo() - { - Scene = HStation.Revit.ConstParas.Scene, - PropName = x.PropName, - PropValue = x.PropValue - }).ToList(); + var fourlink = FromRevit(revitFourlink); hydro.Fourlinks.Add(fourlink); - } - } - - //鍠峰槾 - if (revitModel.Nozzles != null && revitModel.Nozzles.Count > 0) - { - foreach (var revitNozzle in revitModel.Nozzles) - { - var nozzle = new Yw.Model.HydroNozzleInfo(); - nozzle.Catalog = Yw.Hydro.ParterCatalog.Nozzle; - nozzle.Name = revitNozzle.Name; - nozzle.Code = revitNozzle.Code; - nozzle.ModelType = revitNozzle.ModelType; - nozzle.Flags = revitNozzle.Flags; - nozzle.Description = revitNozzle.Description; - nozzle.Quality = revitNozzle.Quality; - nozzle.Coefficient = revitNozzle.Coefficient; - nozzle.Elev = revitNozzle.Elev; - nozzle.Demand = revitNozzle.Demand; - nozzle.DemandPattern = revitNozzle.DemandPattern; - nozzle.Position2d = new Yw.Model.Hydro.Position2d(revitNozzle.Position.X, revitNozzle.Position.Y); - nozzle.Position3d = new Yw.Model.Hydro.Position3d(revitNozzle.Position.X, revitNozzle.Position.Y, revitNozzle.Position.Z); - nozzle.ScenePropValueList = revitNozzle.PropValueList?.Select(x => new Yw.Model.HydroParterScenePropValueInfo() - { - Scene = HStation.Revit.ConstParas.Scene, - PropName = x.PropName, - PropValue = x.PropValue - }).ToList(); - hydro.Nozzles.Add(nozzle); } } //娑堢伀鏍� if (revitModel.Hydrants != null && revitModel.Hydrants.Count > 0) { + if (hydro.Hydrants == null) + { + hydro.Hydrants = new List<HydroHydrantInfo>(); + } foreach (var revitHydrant in revitModel.Hydrants) { - var hydrant = new Yw.Model.HydroHydrantInfo(); - hydrant.Catalog = Yw.Hydro.ParterCatalog.Hydrant; - hydrant.Name = revitHydrant.Name; - hydrant.Code = revitHydrant.Code; - hydrant.ModelType = revitHydrant.ModelType; - hydrant.Flags = revitHydrant.Flags; - hydrant.Description = revitHydrant.Description; - hydrant.Quality = revitHydrant.Quality; - hydrant.Coefficient = revitHydrant.Coefficient; - hydrant.Elev = revitHydrant.Elev; - hydrant.Demand = revitHydrant.Demand; - hydrant.DemandPattern = revitHydrant.DemandPattern; - hydrant.Position2d = new Yw.Model.Hydro.Position2d(revitHydrant.Position.X, revitHydrant.Position.Y); - hydrant.Position3d = new Yw.Model.Hydro.Position3d(revitHydrant.Position.X, revitHydrant.Position.Y, revitHydrant.Position.Z); - hydrant.ScenePropValueList = revitHydrant.PropValueList?.Select(x => new Yw.Model.HydroParterScenePropValueInfo() - { - Scene = HStation.Revit.ConstParas.Scene, - PropName = x.PropName, - PropValue = x.PropValue - }).ToList(); + var hydrant = FromRevit(revitHydrant); hydro.Hydrants.Add(hydrant); + } + } + + //鍠峰槾 + if (revitModel.Nozzles != null && revitModel.Nozzles.Count > 0) + { + if (hydro.Nozzles == null) + { + hydro.Nozzles = new List<HydroNozzleInfo>(); + } + foreach (var revitNozzle in revitModel.Nozzles) + { + var nozzle = FromRevit(revitNozzle); + hydro.Nozzles.Add(nozzle); } } //姘磋〃 if (revitModel.Meters != null && revitModel.Meters.Count > 0) { + if (hydro.Meters == null) + { + hydro.Meters = new List<HydroMeterInfo>(); + } foreach (var revitMeter in revitModel.Meters) { - var meter = new Yw.Model.HydroMeterInfo(); - meter.Catalog = Yw.Hydro.ParterCatalog.Meter; - meter.Name = revitMeter.Name; - meter.Code = revitMeter.Code; - meter.ModelType = revitMeter.ModelType; - meter.Flags = revitMeter.Flags; - meter.Description = revitMeter.Description; - meter.Quality = revitMeter.Quality; - meter.Elev = revitMeter.Elev; - meter.Demand = revitMeter.Demand; - meter.DemandPattern = revitMeter.DemandPattern; - meter.Position2d = new Yw.Model.Hydro.Position2d(revitMeter.Position.X, revitMeter.Position.Y); - meter.Position3d = new Yw.Model.Hydro.Position3d(revitMeter.Position.X, revitMeter.Position.Y, revitMeter.Position.Z); - meter.ScenePropValueList = revitMeter.PropValueList?.Select(x => new Yw.Model.HydroParterScenePropValueInfo() - { - Scene = HStation.Revit.ConstParas.Scene, - PropName = x.PropName, - PropValue = x.PropValue - }).ToList(); + var meter = FromRevit(revitMeter); hydro.Meters.Add(meter); } } @@ -313,27 +180,13 @@ //娴侀噺璁� if (revitModel.Flowmeters != null && revitModel.Flowmeters.Count > 0) { + if (hydro.Flowmeters == null) + { + hydro.Flowmeters = new List<HydroFlowmeterInfo>(); + } foreach (var revitFlowmeter in revitModel.Flowmeters) { - var flowmeter = new Yw.Model.HydroFlowmeterInfo(); - flowmeter.Catalog = Yw.Hydro.ParterCatalog.Flowmeter; - flowmeter.Name = revitFlowmeter.Name; - flowmeter.Code = revitFlowmeter.Code; - flowmeter.ModelType = revitFlowmeter.ModelType; - flowmeter.Flags = revitFlowmeter.Flags; - flowmeter.Description = revitFlowmeter.Description; - flowmeter.Quality = revitFlowmeter.Quality; - flowmeter.Elev = revitFlowmeter.Elev; - flowmeter.Demand = revitFlowmeter.Demand; - flowmeter.DemandPattern = revitFlowmeter.DemandPattern; - flowmeter.Position2d = new Yw.Model.Hydro.Position2d(revitFlowmeter.Position.X, revitFlowmeter.Position.Y); - flowmeter.Position3d = new Yw.Model.Hydro.Position3d(revitFlowmeter.Position.X, revitFlowmeter.Position.Y, revitFlowmeter.Position.Z); - flowmeter.ScenePropValueList = revitFlowmeter.PropValueList?.Select(x => new Yw.Model.HydroParterScenePropValueInfo() - { - Scene = HStation.Revit.ConstParas.Scene, - PropName = x.PropName, - PropValue = x.PropValue - }).ToList(); + var flowmeter = FromRevit(revitFlowmeter); hydro.Flowmeters.Add(flowmeter); } } @@ -341,144 +194,27 @@ //鍘嬪姏琛� if (revitModel.Pressmeters != null && revitModel.Pressmeters.Count > 0) { + if (hydro.Pressmeters == null) + { + hydro.Pressmeters = new List<HydroPressmeterInfo>(); + } foreach (var revitPressmeter in revitModel.Pressmeters) { - var pressmeter = new Yw.Model.HydroPressmeterInfo(); - pressmeter.Catalog = Yw.Hydro.ParterCatalog.Pressmeter; - pressmeter.Name = revitPressmeter.Name; - pressmeter.Code = revitPressmeter.Code; - pressmeter.ModelType = revitPressmeter.ModelType; - pressmeter.Flags = revitPressmeter.Flags; - pressmeter.Description = revitPressmeter.Description; - pressmeter.Quality = revitPressmeter.Quality; - pressmeter.Elev = revitPressmeter.Elev; - pressmeter.Demand = revitPressmeter.Demand; - pressmeter.DemandPattern = revitPressmeter.DemandPattern; - pressmeter.Position2d = new Yw.Model.Hydro.Position2d(revitPressmeter.Position.X, revitPressmeter.Position.Y); - pressmeter.Position3d = new Yw.Model.Hydro.Position3d(revitPressmeter.Position.X, revitPressmeter.Position.Y, revitPressmeter.Position.Z); - pressmeter.ScenePropValueList = revitPressmeter.PropValueList?.Select(x => new Yw.Model.HydroParterScenePropValueInfo() - { - Scene = HStation.Revit.ConstParas.Scene, - PropName = x.PropName, - PropValue = x.PropValue - }).ToList(); + var pressmeter = FromRevit(revitPressmeter); hydro.Pressmeters.Add(pressmeter); - } - } - - //闂峰ご - if (revitModel.Bluntheads != null && revitModel.Bluntheads.Count > 0) - { - foreach (var revitBlunthead in revitModel.Bluntheads) - { - var blunthead = new Yw.Model.HydroBluntheadInfo(); - blunthead.Catalog = Yw.Hydro.ParterCatalog.Blunthead; - blunthead.Name = revitBlunthead.Name; - blunthead.Code = revitBlunthead.Code; - blunthead.ModelType = revitBlunthead.ModelType; - blunthead.Flags = revitBlunthead.Flags; - blunthead.Description = revitBlunthead.Description; - blunthead.Quality = revitBlunthead.Quality; - blunthead.Elev = revitBlunthead.Elev; - blunthead.Demand = revitBlunthead.Demand; - blunthead.DemandPattern = revitBlunthead.DemandPattern; - blunthead.Position2d = new Yw.Model.Hydro.Position2d(revitBlunthead.Position.X, revitBlunthead.Position.Y); - blunthead.Position3d = new Yw.Model.Hydro.Position3d(revitBlunthead.Position.X, revitBlunthead.Position.Y, revitBlunthead.Position.Z); - blunthead.ScenePropValueList = revitBlunthead.PropValueList?.Select(x => new Yw.Model.HydroParterScenePropValueInfo() - { - Scene = HStation.Revit.ConstParas.Scene, - PropName = x.PropName, - PropValue = x.PropValue - }).ToList(); - hydro.Bluntheads.Add(blunthead); - } - } - - //姘存车 - if (revitModel.Pumps != null && revitModel.Pumps.Count > 0) - { - foreach (var revitPump in revitModel.Pumps) - { - var pump = new Yw.Model.HydroPumpInfo(); - pump.Catalog = Yw.Hydro.ParterCatalog.Pump; - pump.Name = revitPump.Name; - pump.Code = revitPump.Code; - pump.ModelType = revitPump.ModelType; - pump.Flags = revitPump.Flags; - pump.Description = revitPump.Description; - pump.StartCode = revitPump.StartCode; - pump.EndCode = revitPump.EndCode; - pump.LinkStatus = revitPump.LinkStatus; - pump.RatedP = revitPump.RatedP; - pump.CurveQH = revitPump.CurveQH; - pump.Price = revitPump.Price; - pump.PricePattern = revitPump.PricePattern; - pump.CurveQE = revitPump.CurveQE; - pump.ScenePropValueList = revitPump.PropValueList?.Select(x => new Yw.Model.HydroParterScenePropValueInfo() - { - Scene = HStation.Revit.ConstParas.Scene, - PropName = x.PropName, - PropValue = x.PropValue - }).ToList(); - hydro.Pumps.Add(pump); - } - } - - //闃�闂� - if (revitModel.Valves != null && revitModel.Valves.Count > 0) - { - foreach (var revitValve in revitModel.Valves) - { - var valve = new Yw.Model.HydroValveInfo(); - valve.Catalog = Yw.Hydro.ParterCatalog.Valve; - valve.Name = revitValve.Name; - valve.Code = revitValve.Code; - valve.ModelType = revitValve.ModelType; - valve.Flags = revitValve.Flags; - valve.Description = revitValve.Description; - valve.StartCode = revitValve.StartCode; - valve.EndCode = revitValve.EndCode; - valve.LinkStatus = revitValve.LinkStatus; - valve.Diameter = revitValve.Diameter; - valve.MinorLoss = revitValve.MinorLoss; - valve.ValveType = revitValve.ValveType; - valve.ValveSetting = revitValve.ValveSetting; - valve.ScenePropValueList = revitValve.PropValueList?.Select(x => new Yw.Model.HydroParterScenePropValueInfo() - { - Scene = HStation.Revit.ConstParas.Scene, - PropName = x.PropName, - PropValue = x.PropValue - }).ToList(); - hydro.Valves.Add(valve); } } //绠¢亾 if (revitModel.Pipes != null && revitModel.Pipes.Count > 0) { + if (hydro.Pipes == null) + { + hydro.Pipes = new List<HydroPipeInfo>(); + } foreach (var revitPipe in revitModel.Pipes) { - var pipe = new Yw.Model.HydroPipeInfo(); - pipe.Catalog = Yw.Hydro.ParterCatalog.Pipe; - pipe.Name = revitPipe.Name; - pipe.Code = revitPipe.Code; - pipe.ModelType = revitPipe.ModelType; - pipe.Flags = revitPipe.Flags; - pipe.Description = revitPipe.Description; - pipe.StartCode = revitPipe.StartCode; - pipe.EndCode = revitPipe.EndCode; - pipe.LinkStatus = revitPipe.LinkStatus; - pipe.Material = revitPipe.Material; - pipe.Diameter = revitPipe.Diameter; - pipe.Length = revitPipe.Length; - pipe.Roughness = revitPipe.Roughness; - pipe.MinorLoss = revitPipe.MinorLoss; - pipe.ScenePropValueList = revitPipe.PropValueList?.Select(x => new Yw.Model.HydroParterScenePropValueInfo() - { - Scene = HStation.Revit.ConstParas.Scene, - PropName = x.PropName, - PropValue = x.PropValue - }).ToList(); + var pipe = FromRevit(revitPipe); hydro.Pipes.Add(pipe); } } @@ -486,29 +222,13 @@ //杩囨浮浠� if (revitModel.Translations != null && revitModel.Translations.Count > 0) { + if (hydro.Translations == null) + { + hydro.Translations = new List<HydroTranslationInfo>(); + } foreach (var revitTranslation in revitModel.Translations) { - var translation = new Yw.Model.HydroTranslationInfo(); - translation.Catalog = Yw.Hydro.ParterCatalog.Translation; - translation.Name = revitTranslation.Name; - translation.Code = revitTranslation.Code; - translation.ModelType = revitTranslation.ModelType; - translation.Flags = revitTranslation.Flags; - translation.Description = revitTranslation.Description; - translation.StartCode = revitTranslation.StartCode; - translation.EndCode = revitTranslation.EndCode; - translation.LinkStatus = revitTranslation.LinkStatus; - translation.Diameter = revitTranslation.Diameter; - translation.Length = revitTranslation.Length; - translation.Material = revitTranslation.Material; - translation.Roughness = revitTranslation.Roughness; - translation.MinorLoss = revitTranslation.MinorLoss; - translation.ScenePropValueList = revitTranslation.PropValueList?.Select(x => new Yw.Model.HydroParterScenePropValueInfo() - { - Scene = HStation.Revit.ConstParas.Scene, - PropName = x.PropName, - PropValue = x.PropValue - }).ToList(); + var translation = FromRevit(revitTranslation); hydro.Translations.Add(translation); } } @@ -516,30 +236,43 @@ //鎹㈢儹鍣� if (revitModel.Exchangers != null && revitModel.Exchangers.Count > 0) { + if (hydro.Exchangers == null) + { + hydro.Exchangers = new List<HydroExchangerInfo>(); + } foreach (var revitExchanger in revitModel.Exchangers) { - var exchanger = new Yw.Model.HydroExchangerInfo(); - exchanger.Catalog = Yw.Hydro.ParterCatalog.Exchanger; - exchanger.Name = revitExchanger.Name; - exchanger.Code = revitExchanger.Code; - exchanger.ModelType = revitExchanger.ModelType; - exchanger.Flags = revitExchanger.Flags; - exchanger.Description = revitExchanger.Description; - exchanger.StartCode = revitExchanger.StartCode; - exchanger.EndCode = revitExchanger.EndCode; - exchanger.LinkStatus = revitExchanger.LinkStatus; - exchanger.Diameter = revitExchanger.Diameter; - exchanger.Length = revitExchanger.Length; - exchanger.Material = revitExchanger.Material; - exchanger.Roughness = revitExchanger.Roughness; - exchanger.MinorLoss = revitExchanger.MinorLoss; - exchanger.ScenePropValueList = revitExchanger.PropValueList?.Select(x => new Yw.Model.HydroParterScenePropValueInfo() - { - Scene = HStation.Revit.ConstParas.Scene, - PropName = x.PropName, - PropValue = x.PropValue - }).ToList(); + var exchanger = FromRevit(revitExchanger); hydro.Exchangers.Add(exchanger); + } + } + + //姘存车 + if (revitModel.Pumps != null && revitModel.Pumps.Count > 0) + { + if (hydro.Pumps == null) + { + hydro.Pumps = new List<HydroPumpInfo>(); + } + foreach (var revitPump in revitModel.Pumps) + { + var pump = FromRevit(revitPump); + hydro.Pumps.Add(pump); + } + } + + + //闃�闂� + if (revitModel.Valves != null && revitModel.Valves.Count > 0) + { + if (hydro.Valves == null) + { + hydro.Valves = new List<HydroValveInfo>(); + } + foreach (var revitValve in revitModel.Valves) + { + var valve = FromRevit(revitValve); + hydro.Valves.Add(valve); } } @@ -562,5 +295,818 @@ return hydro; } + + //姘村簱 + private static Yw.Model.HydroReservoirInfo FromRevit(HStation.Model.RevitReservoir revitReservoir) + { + if (revitReservoir == null) + { + return default; + } + var reservoir = new Yw.Model.HydroReservoirInfo(); + reservoir.Catalog = Yw.Hydro.ParterCatalog.Reservoir; + reservoir.Name = revitReservoir.Name; + reservoir.UpdatePropStatus(nameof(reservoir.Name), revitReservoir, nameof(revitReservoir.Name)); + reservoir.Code = revitReservoir.Code; + reservoir.UpdatePropStatus(nameof(reservoir.Code), revitReservoir, nameof(revitReservoir.Code)); + reservoir.ModelType = revitReservoir.ModelType; + reservoir.UpdatePropStatus(nameof(reservoir.ModelType), revitReservoir, nameof(revitReservoir.ModelType)); + reservoir.Flags = revitReservoir.Flags; + reservoir.UpdatePropStatus(nameof(reservoir.Flags), revitReservoir, nameof(revitReservoir.Flags)); + reservoir.Description = revitReservoir.Description; + reservoir.UpdatePropStatus(nameof(reservoir.Description), revitReservoir, nameof(revitReservoir.Description)); + reservoir.Quality = revitReservoir.Quality; + reservoir.UpdatePropStatus(nameof(reservoir.Quality), revitReservoir, nameof(revitReservoir.Quality)); + reservoir.PoolElev = revitReservoir.PoolElev; + reservoir.UpdatePropStatus(nameof(reservoir.PoolElev), revitReservoir, nameof(revitReservoir.PoolElev)); + reservoir.Head = revitReservoir.Head; + reservoir.UpdatePropStatus(nameof(reservoir.Head), revitReservoir, nameof(revitReservoir.Head)); + reservoir.HeadPattern = revitReservoir.HeadPattern; + reservoir.UpdatePropStatus(nameof(reservoir.HeadPattern), revitReservoir, nameof(revitReservoir.HeadPattern)); + reservoir.Position2d = new Yw.Model.Hydro.Position2d(revitReservoir.Position.X, revitReservoir.Position.Y); + reservoir.UpdatePropStatus(nameof(reservoir.Position2d), revitReservoir, nameof(revitReservoir.Position)); + reservoir.Position3d = new Yw.Model.Hydro.Position3d(revitReservoir.Position.X, revitReservoir.Position.Y, revitReservoir.Position.Z); + reservoir.UpdatePropStatus(nameof(reservoir.Position3d), revitReservoir, nameof(revitReservoir.Position)); + reservoir.ScenePropValueList = revitReservoir.PropValueList?.Select(x => new Yw.Model.HydroParterScenePropValueInfo() + { + Scene = HStation.Revit.ConstParas.Scene, + PropName = x.PropName, + PropValue = x.PropValue + }).ToList(); + return reservoir; + } + + //姘存睜 + private static Yw.Model.HydroTankInfo FromRevit(HStation.Model.RevitTank revitTank) + { + if (revitTank == null) + { + return default; + } + var tank = new Yw.Model.HydroTankInfo(); + tank.Catalog = Yw.Hydro.ParterCatalog.Tank; + tank.Name = revitTank.Name; + tank.UpdatePropStatus(nameof(tank.Name), revitTank, nameof(revitTank.Name)); + tank.Code = revitTank.Code; + tank.UpdatePropStatus(nameof(tank.Code), revitTank, nameof(revitTank.Code)); + tank.ModelType = revitTank.ModelType; + tank.UpdatePropStatus(nameof(tank.ModelType), revitTank, nameof(revitTank.ModelType)); + tank.Flags = revitTank.Flags; + tank.UpdatePropStatus(nameof(tank.Flags), revitTank, nameof(revitTank.Flags)); + tank.Description = revitTank.Description; + tank.UpdatePropStatus(nameof(tank.Description), revitTank, nameof(revitTank.Description)); + tank.Quality = revitTank.Quality; + tank.UpdatePropStatus(nameof(tank.Quality), revitTank, nameof(revitTank.Quality)); + tank.PoolElev = revitTank.PoolElev; + tank.UpdatePropStatus(nameof(tank.PoolElev), revitTank, nameof(revitTank.PoolElev)); + tank.InitLevel = revitTank.InitLevel; + tank.UpdatePropStatus(nameof(tank.InitLevel), revitTank, nameof(revitTank.InitLevel)); + tank.MinLevel = revitTank.MinLevel; + tank.UpdatePropStatus(nameof(tank.MinLevel), revitTank, nameof(revitTank.MinLevel)); + tank.MaxLevel = revitTank.MaxLevel; + tank.UpdatePropStatus(nameof(tank.MaxLevel), revitTank, nameof(revitTank.MaxLevel)); + tank.DN = revitTank.DN; + tank.UpdatePropStatus(nameof(tank.DN), revitTank, nameof(revitTank.DN)); + tank.MinVol = revitTank.MinVol; + tank.UpdatePropStatus(nameof(tank.MinVol), revitTank, nameof(revitTank.MinVol)); + tank.VolCurve = revitTank.VolCurve; + tank.UpdatePropStatus(nameof(tank.VolCurve), revitTank, nameof(revitTank.VolCurve)); + tank.Position2d = new Yw.Model.Hydro.Position2d(revitTank.Position.X, revitTank.Position.Y); + tank.UpdatePropStatus(nameof(tank.Position2d), revitTank, nameof(revitTank.Position)); + tank.Position3d = new Yw.Model.Hydro.Position3d(revitTank.Position.X, revitTank.Position.Y, revitTank.Position.Z); + tank.UpdatePropStatus(nameof(tank.Position3d), revitTank, nameof(revitTank.Position)); + tank.ScenePropValueList = revitTank.PropValueList?.Select(x => new Yw.Model.HydroParterScenePropValueInfo() + { + Scene = HStation.Revit.ConstParas.Scene, + PropName = x.PropName, + PropValue = x.PropValue + }).ToList(); + return tank; + } + + //姘存睜 + private static Yw.Model.HydroWaterboxInfo FromRevit(HStation.Model.RevitWaterbox revitWaterbox) + { + if (revitWaterbox == null) + { + return default; + } + var waterbox = new Yw.Model.HydroWaterboxInfo(); + waterbox.Catalog = Yw.Hydro.ParterCatalog.Waterbox; + waterbox.Name = revitWaterbox.Name; + waterbox.UpdatePropStatus(nameof(waterbox.Name), revitWaterbox, nameof(revitWaterbox.Name)); + waterbox.Code = revitWaterbox.Code; + waterbox.UpdatePropStatus(nameof(waterbox.Code), revitWaterbox, nameof(revitWaterbox.Code)); + waterbox.ModelType = revitWaterbox.ModelType; + waterbox.UpdatePropStatus(nameof(waterbox.ModelType), revitWaterbox, nameof(revitWaterbox.ModelType)); + waterbox.Flags = revitWaterbox.Flags; + waterbox.UpdatePropStatus(nameof(waterbox.Flags), revitWaterbox, nameof(revitWaterbox.Flags)); + waterbox.Description = revitWaterbox.Description; + waterbox.UpdatePropStatus(nameof(waterbox.Description), revitWaterbox, nameof(revitWaterbox.Description)); + waterbox.Quality = revitWaterbox.Quality; + waterbox.UpdatePropStatus(nameof(waterbox.Quality), revitWaterbox, nameof(revitWaterbox.Quality)); + waterbox.PoolElev = revitWaterbox.PoolElev; + waterbox.UpdatePropStatus(nameof(waterbox.PoolElev), revitWaterbox, nameof(revitWaterbox.PoolElev)); + waterbox.InitLevel = revitWaterbox.InitLevel; + waterbox.UpdatePropStatus(nameof(waterbox.InitLevel), revitWaterbox, nameof(revitWaterbox.InitLevel)); + waterbox.MinLevel = revitWaterbox.MinLevel; + waterbox.UpdatePropStatus(nameof(waterbox.MinLevel), revitWaterbox, nameof(revitWaterbox.MinLevel)); + waterbox.MaxLevel = revitWaterbox.MaxLevel; + waterbox.UpdatePropStatus(nameof(waterbox.MaxLevel), revitWaterbox, nameof(revitWaterbox.MaxLevel)); + waterbox.DN = revitWaterbox.DN; + waterbox.UpdatePropStatus(nameof(waterbox.DN), revitWaterbox, nameof(revitWaterbox.DN)); + waterbox.MinVol = revitWaterbox.MinVol; + waterbox.UpdatePropStatus(nameof(waterbox.MinVol), revitWaterbox, nameof(revitWaterbox.MinVol)); + waterbox.VolCurve = revitWaterbox.VolCurve; + waterbox.UpdatePropStatus(nameof(waterbox.VolCurve), revitWaterbox, nameof(revitWaterbox.VolCurve)); + waterbox.Position2d = new Yw.Model.Hydro.Position2d(revitWaterbox.Position.X, revitWaterbox.Position.Y); + waterbox.UpdatePropStatus(nameof(waterbox.Position2d), revitWaterbox, nameof(revitWaterbox.Position)); + waterbox.Position3d = new Yw.Model.Hydro.Position3d(revitWaterbox.Position.X, revitWaterbox.Position.Y, revitWaterbox.Position.Z); + waterbox.UpdatePropStatus(nameof(waterbox.Position3d), revitWaterbox, nameof(revitWaterbox.Position)); + waterbox.ScenePropValueList = revitWaterbox.PropValueList?.Select(x => new Yw.Model.HydroParterScenePropValueInfo() + { + Scene = HStation.Revit.ConstParas.Scene, + PropName = x.PropName, + PropValue = x.PropValue + }).ToList(); + return waterbox; + } + + //杩炴帴鑺傜偣 + private static Yw.Model.HydroJunctionInfo FromRevit(HStation.Model.RevitJunction revitJunction) + { + if (revitJunction == null) + { + return default; + } + var junction = new Yw.Model.HydroJunctionInfo(); + junction.Catalog = Yw.Hydro.ParterCatalog.Junction; + junction.Name = revitJunction.Name; + junction.UpdatePropStatus(nameof(junction.Name), revitJunction, nameof(revitJunction.Name)); + junction.Code = revitJunction.Code; + junction.UpdatePropStatus(nameof(junction.Code), revitJunction, nameof(revitJunction.Code)); + junction.ModelType = revitJunction.ModelType; + junction.UpdatePropStatus(nameof(junction.ModelType), revitJunction, nameof(revitJunction.ModelType)); + junction.Flags = revitJunction.Flags; + junction.UpdatePropStatus(nameof(junction.Flags), revitJunction, nameof(revitJunction.Flags)); + junction.Description = revitJunction.Description; + junction.UpdatePropStatus(nameof(junction.Description), revitJunction, nameof(revitJunction.Description)); + junction.Quality = revitJunction.Quality; + junction.UpdatePropStatus(nameof(junction.Quality), revitJunction, nameof(revitJunction.Quality)); + junction.Elev = revitJunction.Elev; + junction.UpdatePropStatus(nameof(junction.Elev), revitJunction, nameof(revitJunction.Elev)); + junction.MinorLoss = revitJunction.MinorLoss; + junction.UpdatePropStatus(nameof(junction.MinorLoss), revitJunction, nameof(revitJunction.MinorLoss)); + junction.Demand = revitJunction.Demand; + junction.UpdatePropStatus(nameof(junction.Demand), revitJunction, nameof(revitJunction.Demand)); + junction.DemandPattern = revitJunction.DemandPattern; + junction.UpdatePropStatus(nameof(junction.DemandPattern), revitJunction, nameof(revitJunction.DemandPattern)); + junction.Position2d = new Yw.Model.Hydro.Position2d(revitJunction.Position.X, revitJunction.Position.Y); + junction.UpdatePropStatus(nameof(junction.Position2d), revitJunction, nameof(revitJunction.Position)); + junction.Position3d = new Yw.Model.Hydro.Position3d(revitJunction.Position.X, revitJunction.Position.Y, revitJunction.Position.Z); + junction.UpdatePropStatus(nameof(junction.Position3d), revitJunction, nameof(revitJunction.Position)); + junction.ScenePropValueList = revitJunction.PropValueList?.Select(x => new Yw.Model.HydroParterScenePropValueInfo() + { + Scene = HStation.Revit.ConstParas.Scene, + PropName = x.PropName, + PropValue = x.PropValue + }).ToList(); + return junction; + } + + //闂峰ご + private static Yw.Model.HydroBluntheadInfo FromRevit(HStation.Model.RevitBlunthead revitBlunthead) + { + if (revitBlunthead == null) + { + return default; + } + var blunthead = new Yw.Model.HydroBluntheadInfo(); + blunthead.Catalog = Yw.Hydro.ParterCatalog.Blunthead; + blunthead.Name = revitBlunthead.Name; + blunthead.UpdatePropStatus(nameof(blunthead.Name), revitBlunthead, nameof(revitBlunthead.Name)); + blunthead.Code = revitBlunthead.Code; + blunthead.UpdatePropStatus(nameof(blunthead.Code), revitBlunthead, nameof(revitBlunthead.Code)); + blunthead.ModelType = revitBlunthead.ModelType; + blunthead.UpdatePropStatus(nameof(blunthead.ModelType), revitBlunthead, nameof(revitBlunthead.ModelType)); + blunthead.Flags = revitBlunthead.Flags; + blunthead.UpdatePropStatus(nameof(blunthead.Flags), revitBlunthead, nameof(revitBlunthead.Flags)); + blunthead.Description = revitBlunthead.Description; + blunthead.UpdatePropStatus(nameof(blunthead.Description), revitBlunthead, nameof(revitBlunthead.Description)); + blunthead.Quality = revitBlunthead.Quality; + blunthead.UpdatePropStatus(nameof(blunthead.Quality), revitBlunthead, nameof(revitBlunthead.Quality)); + blunthead.Elev = revitBlunthead.Elev; + blunthead.UpdatePropStatus(nameof(blunthead.Elev), revitBlunthead, nameof(revitBlunthead.Elev)); + blunthead.MinorLoss = revitBlunthead.MinorLoss; + blunthead.UpdatePropStatus(nameof(blunthead.MinorLoss), revitBlunthead, nameof(revitBlunthead.MinorLoss)); + blunthead.Demand = revitBlunthead.Demand; + blunthead.UpdatePropStatus(nameof(blunthead.Demand), revitBlunthead, nameof(revitBlunthead.Demand)); + blunthead.DemandPattern = revitBlunthead.DemandPattern; + blunthead.UpdatePropStatus(nameof(blunthead.DemandPattern), revitBlunthead, nameof(revitBlunthead.DemandPattern)); + blunthead.Position2d = new Yw.Model.Hydro.Position2d(revitBlunthead.Position.X, revitBlunthead.Position.Y); + blunthead.UpdatePropStatus(nameof(blunthead.Position2d), revitBlunthead, nameof(revitBlunthead.Position)); + blunthead.Position3d = new Yw.Model.Hydro.Position3d(revitBlunthead.Position.X, revitBlunthead.Position.Y, revitBlunthead.Position.Z); + blunthead.UpdatePropStatus(nameof(blunthead.Position3d), revitBlunthead, nameof(revitBlunthead.Position)); + blunthead.Material = revitBlunthead.Material; + blunthead.UpdatePropStatus(nameof(blunthead.Material), revitBlunthead, nameof(revitBlunthead.Material)); + blunthead.Caliber = revitBlunthead.Caliber; + blunthead.UpdatePropStatus(nameof(blunthead.Caliber), revitBlunthead, nameof(revitBlunthead.Caliber)); + blunthead.ScenePropValueList = revitBlunthead.PropValueList?.Select(x => new Yw.Model.HydroParterScenePropValueInfo() + { + Scene = HStation.Revit.ConstParas.Scene, + PropName = x.PropName, + PropValue = x.PropValue + }).ToList(); + return blunthead; + } + + //寮ご + private static Yw.Model.HydroElbowInfo FromRevit(HStation.Model.RevitElbow revitElbow) + { + if (revitElbow == null) + { + return default; + } + var elbow = new Yw.Model.HydroElbowInfo(); + elbow.Catalog = Yw.Hydro.ParterCatalog.Elbow; + elbow.Name = revitElbow.Name; + elbow.UpdatePropStatus(nameof(elbow.Name), revitElbow, nameof(revitElbow.Name)); + elbow.Code = revitElbow.Code; + elbow.UpdatePropStatus(nameof(elbow.Code), revitElbow, nameof(revitElbow.Code)); + elbow.ModelType = revitElbow.ModelType; + elbow.UpdatePropStatus(nameof(elbow.ModelType), revitElbow, nameof(revitElbow.ModelType)); + elbow.Flags = revitElbow.Flags; + elbow.UpdatePropStatus(nameof(elbow.Flags), revitElbow, nameof(revitElbow.Flags)); + elbow.Description = revitElbow.Description; + elbow.UpdatePropStatus(nameof(elbow.Description), revitElbow, nameof(revitElbow.Description)); + elbow.Quality = revitElbow.Quality; + elbow.UpdatePropStatus(nameof(elbow.Quality), revitElbow, nameof(revitElbow.Quality)); + elbow.Elev = revitElbow.Elev; + elbow.UpdatePropStatus(nameof(elbow.Elev), revitElbow, nameof(revitElbow.Elev)); + elbow.MinorLoss = revitElbow.MinorLoss; + elbow.UpdatePropStatus(nameof(elbow.MinorLoss), revitElbow, nameof(revitElbow.MinorLoss)); + elbow.Demand = revitElbow.Demand; + elbow.UpdatePropStatus(nameof(elbow.Demand), revitElbow, nameof(revitElbow.Demand)); + elbow.DemandPattern = revitElbow.DemandPattern; + elbow.UpdatePropStatus(nameof(elbow.DemandPattern), revitElbow, nameof(revitElbow.DemandPattern)); + elbow.Position2d = new Yw.Model.Hydro.Position2d(revitElbow.Position.X, revitElbow.Position.Y); + elbow.UpdatePropStatus(nameof(elbow.Position2d), revitElbow, nameof(revitElbow.Position)); + elbow.Position3d = new Yw.Model.Hydro.Position3d(revitElbow.Position.X, revitElbow.Position.Y, revitElbow.Position.Z); + elbow.UpdatePropStatus(nameof(elbow.Position3d), revitElbow, nameof(revitElbow.Position)); + elbow.Material = revitElbow.Material; + elbow.UpdatePropStatus(nameof(elbow.Material), revitElbow, nameof(revitElbow.Material)); + elbow.Caliber = revitElbow.Caliber; + elbow.UpdatePropStatus(nameof(elbow.Caliber), revitElbow, nameof(revitElbow.Caliber)); + elbow.ScenePropValueList = revitElbow.PropValueList?.Select(x => new Yw.Model.HydroParterScenePropValueInfo() + { + Scene = HStation.Revit.ConstParas.Scene, + PropName = x.PropName, + PropValue = x.PropValue + }).ToList(); + return elbow; + } + + //涓夐�� + private static Yw.Model.HydroThreelinkInfo FromRevit(HStation.Model.RevitThreelink revitThreelink) + { + if (revitThreelink == null) + { + return default; + } + var threelink = new Yw.Model.HydroThreelinkInfo(); + threelink.Catalog = Yw.Hydro.ParterCatalog.Threelink; + threelink.Name = revitThreelink.Name; + threelink.UpdatePropStatus(nameof(threelink.Name), revitThreelink, nameof(revitThreelink.Name)); + threelink.Code = revitThreelink.Code; + threelink.UpdatePropStatus(nameof(threelink.Code), revitThreelink, nameof(revitThreelink.Code)); + threelink.ModelType = revitThreelink.ModelType; + threelink.UpdatePropStatus(nameof(threelink.ModelType), revitThreelink, nameof(revitThreelink.ModelType)); + threelink.Flags = revitThreelink.Flags; + threelink.UpdatePropStatus(nameof(threelink.Flags), revitThreelink, nameof(revitThreelink.Flags)); + threelink.Description = revitThreelink.Description; + threelink.UpdatePropStatus(nameof(threelink.Description), revitThreelink, nameof(revitThreelink.Description)); + threelink.Quality = revitThreelink.Quality; + threelink.UpdatePropStatus(nameof(threelink.Quality), revitThreelink, nameof(revitThreelink.Quality)); + threelink.Elev = revitThreelink.Elev; + threelink.UpdatePropStatus(nameof(threelink.Elev), revitThreelink, nameof(revitThreelink.Elev)); + threelink.MinorLoss = revitThreelink.MinorLoss; + threelink.UpdatePropStatus(nameof(threelink.MinorLoss), revitThreelink, nameof(revitThreelink.MinorLoss)); + threelink.Demand = revitThreelink.Demand; + threelink.UpdatePropStatus(nameof(threelink.Demand), revitThreelink, nameof(revitThreelink.Demand)); + threelink.DemandPattern = revitThreelink.DemandPattern; + threelink.UpdatePropStatus(nameof(threelink.DemandPattern), revitThreelink, nameof(revitThreelink.DemandPattern)); + threelink.Position2d = new Yw.Model.Hydro.Position2d(revitThreelink.Position.X, revitThreelink.Position.Y); + threelink.UpdatePropStatus(nameof(threelink.Position2d), revitThreelink, nameof(revitThreelink.Position)); + threelink.Position3d = new Yw.Model.Hydro.Position3d(revitThreelink.Position.X, revitThreelink.Position.Y, revitThreelink.Position.Z); + threelink.UpdatePropStatus(nameof(threelink.Position3d), revitThreelink, nameof(revitThreelink.Position)); + threelink.Material = revitThreelink.Material; + threelink.UpdatePropStatus(nameof(threelink.Material), revitThreelink, nameof(revitThreelink.Material)); + threelink.Caliber = revitThreelink.Caliber; + threelink.UpdatePropStatus(nameof(threelink.Caliber), revitThreelink, nameof(revitThreelink.Caliber)); + threelink.ScenePropValueList = revitThreelink.PropValueList?.Select(x => new Yw.Model.HydroParterScenePropValueInfo() + { + Scene = HStation.Revit.ConstParas.Scene, + PropName = x.PropName, + PropValue = x.PropValue + }).ToList(); + return threelink; + } + + //鍥涢�� + private static Yw.Model.HydroFourlinkInfo FromRevit(HStation.Model.RevitFourlink revitFourlink) + { + if (revitFourlink == null) + { + return default; + } + var fourlink = new Yw.Model.HydroFourlinkInfo(); + fourlink.Catalog = Yw.Hydro.ParterCatalog.Fourlink; + fourlink.Name = revitFourlink.Name; + fourlink.UpdatePropStatus(nameof(fourlink.Name), revitFourlink, nameof(revitFourlink.Name)); + fourlink.Code = revitFourlink.Code; + fourlink.UpdatePropStatus(nameof(fourlink.Code), revitFourlink, nameof(revitFourlink.Code)); + fourlink.ModelType = revitFourlink.ModelType; + fourlink.UpdatePropStatus(nameof(fourlink.ModelType), revitFourlink, nameof(revitFourlink.ModelType)); + fourlink.Flags = revitFourlink.Flags; + fourlink.UpdatePropStatus(nameof(fourlink.Flags), revitFourlink, nameof(revitFourlink.Flags)); + fourlink.Description = revitFourlink.Description; + fourlink.UpdatePropStatus(nameof(fourlink.Description), revitFourlink, nameof(revitFourlink.Description)); + fourlink.Quality = revitFourlink.Quality; + fourlink.UpdatePropStatus(nameof(fourlink.Quality), revitFourlink, nameof(revitFourlink.Quality)); + fourlink.Elev = revitFourlink.Elev; + fourlink.UpdatePropStatus(nameof(fourlink.Elev), revitFourlink, nameof(revitFourlink.Elev)); + fourlink.MinorLoss = revitFourlink.MinorLoss; + fourlink.UpdatePropStatus(nameof(fourlink.MinorLoss), revitFourlink, nameof(revitFourlink.MinorLoss)); + fourlink.Demand = revitFourlink.Demand; + fourlink.UpdatePropStatus(nameof(fourlink.Demand), revitFourlink, nameof(revitFourlink.Demand)); + fourlink.DemandPattern = revitFourlink.DemandPattern; + fourlink.UpdatePropStatus(nameof(fourlink.DemandPattern), revitFourlink, nameof(revitFourlink.DemandPattern)); + fourlink.Position2d = new Yw.Model.Hydro.Position2d(revitFourlink.Position.X, revitFourlink.Position.Y); + fourlink.UpdatePropStatus(nameof(fourlink.Position2d), revitFourlink, nameof(revitFourlink.Position)); + fourlink.Position3d = new Yw.Model.Hydro.Position3d(revitFourlink.Position.X, revitFourlink.Position.Y, revitFourlink.Position.Z); + fourlink.UpdatePropStatus(nameof(fourlink.Position3d), revitFourlink, nameof(revitFourlink.Position)); + fourlink.Material = revitFourlink.Material; + fourlink.UpdatePropStatus(nameof(fourlink.Material), revitFourlink, nameof(revitFourlink.Material)); + fourlink.Caliber = revitFourlink.Caliber; + fourlink.UpdatePropStatus(nameof(fourlink.Caliber), revitFourlink, nameof(revitFourlink.Caliber)); + fourlink.ScenePropValueList = revitFourlink.PropValueList?.Select(x => new Yw.Model.HydroParterScenePropValueInfo() + { + Scene = HStation.Revit.ConstParas.Scene, + PropName = x.PropName, + PropValue = x.PropValue + }).ToList(); + return fourlink; + } + + //娑堢伀鏍� + private static Yw.Model.HydroHydrantInfo FromRevit(HStation.Model.RevitHydrant revitHydrant) + { + if (revitHydrant == null) + { + return default; + } + var hydrant = new Yw.Model.HydroHydrantInfo(); + hydrant.Catalog = Yw.Hydro.ParterCatalog.Hydrant; + hydrant.Name = revitHydrant.Name; + hydrant.UpdatePropStatus(nameof(hydrant.Name), revitHydrant, nameof(revitHydrant.Name)); + hydrant.Code = revitHydrant.Code; + hydrant.UpdatePropStatus(nameof(hydrant.Code), revitHydrant, nameof(revitHydrant.Code)); + hydrant.ModelType = revitHydrant.ModelType; + hydrant.UpdatePropStatus(nameof(hydrant.ModelType), revitHydrant, nameof(revitHydrant.ModelType)); + hydrant.Flags = revitHydrant.Flags; + hydrant.UpdatePropStatus(nameof(hydrant.Flags), revitHydrant, nameof(revitHydrant.Flags)); + hydrant.Description = revitHydrant.Description; + hydrant.UpdatePropStatus(nameof(hydrant.Description), revitHydrant, nameof(revitHydrant.Description)); + hydrant.Quality = revitHydrant.Quality; + hydrant.UpdatePropStatus(nameof(hydrant.Quality), revitHydrant, nameof(revitHydrant.Quality)); + hydrant.Elev = revitHydrant.Elev; + hydrant.UpdatePropStatus(nameof(hydrant.Elev), revitHydrant, nameof(revitHydrant.Elev)); + hydrant.MinorLoss = revitHydrant.MinorLoss; + hydrant.UpdatePropStatus(nameof(hydrant.MinorLoss), revitHydrant, nameof(revitHydrant.MinorLoss)); + hydrant.Demand = revitHydrant.Demand; + hydrant.UpdatePropStatus(nameof(hydrant.Demand), revitHydrant, nameof(revitHydrant.Demand)); + hydrant.DemandPattern = revitHydrant.DemandPattern; + hydrant.UpdatePropStatus(nameof(hydrant.DemandPattern), revitHydrant, nameof(revitHydrant.DemandPattern)); + hydrant.Position2d = new Yw.Model.Hydro.Position2d(revitHydrant.Position.X, revitHydrant.Position.Y); + hydrant.UpdatePropStatus(nameof(hydrant.Position2d), revitHydrant, nameof(revitHydrant.Position)); + hydrant.Position3d = new Yw.Model.Hydro.Position3d(revitHydrant.Position.X, revitHydrant.Position.Y, revitHydrant.Position.Z); + hydrant.UpdatePropStatus(nameof(hydrant.Position3d), revitHydrant, nameof(revitHydrant.Position)); + hydrant.Coefficient = revitHydrant.Coefficient; + hydrant.UpdatePropStatus(nameof(hydrant.Coefficient), revitHydrant, nameof(revitHydrant.Coefficient)); + hydrant.ScenePropValueList = revitHydrant.PropValueList?.Select(x => new Yw.Model.HydroParterScenePropValueInfo() + { + Scene = HStation.Revit.ConstParas.Scene, + PropName = x.PropName, + PropValue = x.PropValue + }).ToList(); + return hydrant; + } + + //鍠峰槾 + private static Yw.Model.HydroNozzleInfo FromRevit(HStation.Model.RevitNozzle revitNozzle) + { + if (revitNozzle == null) + { + return default; + } + var nozzle = new Yw.Model.HydroNozzleInfo(); + nozzle.Catalog = Yw.Hydro.ParterCatalog.Nozzle; + nozzle.Name = revitNozzle.Name; + nozzle.UpdatePropStatus(nameof(nozzle.Name), revitNozzle, nameof(revitNozzle.Name)); + nozzle.Code = revitNozzle.Code; + nozzle.UpdatePropStatus(nameof(nozzle.Code), revitNozzle, nameof(revitNozzle.Code)); + nozzle.ModelType = revitNozzle.ModelType; + nozzle.UpdatePropStatus(nameof(nozzle.ModelType), revitNozzle, nameof(revitNozzle.ModelType)); + nozzle.Flags = revitNozzle.Flags; + nozzle.UpdatePropStatus(nameof(nozzle.Flags), revitNozzle, nameof(revitNozzle.Flags)); + nozzle.Description = revitNozzle.Description; + nozzle.UpdatePropStatus(nameof(nozzle.Description), revitNozzle, nameof(revitNozzle.Description)); + nozzle.Quality = revitNozzle.Quality; + nozzle.UpdatePropStatus(nameof(nozzle.Quality), revitNozzle, nameof(revitNozzle.Quality)); + nozzle.Elev = revitNozzle.Elev; + nozzle.UpdatePropStatus(nameof(nozzle.Elev), revitNozzle, nameof(revitNozzle.Elev)); + nozzle.MinorLoss = revitNozzle.MinorLoss; + nozzle.UpdatePropStatus(nameof(nozzle.MinorLoss), revitNozzle, nameof(revitNozzle.MinorLoss)); + nozzle.Demand = revitNozzle.Demand; + nozzle.UpdatePropStatus(nameof(nozzle.Demand), revitNozzle, nameof(revitNozzle.Demand)); + nozzle.DemandPattern = revitNozzle.DemandPattern; + nozzle.UpdatePropStatus(nameof(nozzle.DemandPattern), revitNozzle, nameof(revitNozzle.DemandPattern)); + nozzle.Position2d = new Yw.Model.Hydro.Position2d(revitNozzle.Position.X, revitNozzle.Position.Y); + nozzle.UpdatePropStatus(nameof(nozzle.Position2d), revitNozzle, nameof(revitNozzle.Position)); + nozzle.Position3d = new Yw.Model.Hydro.Position3d(revitNozzle.Position.X, revitNozzle.Position.Y, revitNozzle.Position.Z); + nozzle.UpdatePropStatus(nameof(nozzle.Position3d), revitNozzle, nameof(revitNozzle.Position)); + nozzle.Coefficient = revitNozzle.Coefficient; + nozzle.UpdatePropStatus(nameof(nozzle.Coefficient), revitNozzle, nameof(revitNozzle.Coefficient)); + nozzle.ScenePropValueList = revitNozzle.PropValueList?.Select(x => new Yw.Model.HydroParterScenePropValueInfo() + { + Scene = HStation.Revit.ConstParas.Scene, + PropName = x.PropName, + PropValue = x.PropValue + }).ToList(); + return nozzle; + } + + //姘磋〃 + private static Yw.Model.HydroMeterInfo FromRevit(HStation.Model.RevitMeter revitMeter) + { + if (revitMeter == null) + { + return default; + } + var meter = new Yw.Model.HydroMeterInfo(); + meter.Catalog = Yw.Hydro.ParterCatalog.Meter; + meter.Name = revitMeter.Name; + meter.UpdatePropStatus(nameof(meter.Name), revitMeter, nameof(revitMeter.Name)); + meter.Code = revitMeter.Code; + meter.UpdatePropStatus(nameof(meter.Code), revitMeter, nameof(revitMeter.Code)); + meter.ModelType = revitMeter.ModelType; + meter.UpdatePropStatus(nameof(meter.ModelType), revitMeter, nameof(revitMeter.ModelType)); + meter.Flags = revitMeter.Flags; + meter.UpdatePropStatus(nameof(meter.Flags), revitMeter, nameof(revitMeter.Flags)); + meter.Description = revitMeter.Description; + meter.UpdatePropStatus(nameof(meter.Description), revitMeter, nameof(revitMeter.Description)); + meter.Quality = revitMeter.Quality; + meter.UpdatePropStatus(nameof(meter.Quality), revitMeter, nameof(revitMeter.Quality)); + meter.Elev = revitMeter.Elev; + meter.UpdatePropStatus(nameof(meter.Elev), revitMeter, nameof(revitMeter.Elev)); + meter.MinorLoss = revitMeter.MinorLoss; + meter.UpdatePropStatus(nameof(meter.MinorLoss), revitMeter, nameof(revitMeter.MinorLoss)); + meter.Demand = revitMeter.Demand; + meter.UpdatePropStatus(nameof(meter.Demand), revitMeter, nameof(revitMeter.Demand)); + meter.DemandPattern = revitMeter.DemandPattern; + meter.UpdatePropStatus(nameof(meter.DemandPattern), revitMeter, nameof(revitMeter.DemandPattern)); + meter.Position2d = new Yw.Model.Hydro.Position2d(revitMeter.Position.X, revitMeter.Position.Y); + meter.UpdatePropStatus(nameof(meter.Position2d), revitMeter, nameof(revitMeter.Position)); + meter.Position3d = new Yw.Model.Hydro.Position3d(revitMeter.Position.X, revitMeter.Position.Y, revitMeter.Position.Z); + meter.UpdatePropStatus(nameof(meter.Position3d), revitMeter, nameof(revitMeter.Position)); + meter.ScenePropValueList = revitMeter.PropValueList?.Select(x => new Yw.Model.HydroParterScenePropValueInfo() + { + Scene = HStation.Revit.ConstParas.Scene, + PropName = x.PropName, + PropValue = x.PropValue + }).ToList(); + return meter; + } + + //娴侀噺璁� + private static Yw.Model.HydroFlowmeterInfo FromRevit(HStation.Model.RevitFlowmeter revitFlowmeter) + { + if (revitFlowmeter == null) + { + return default; + } + var flowmeter = new Yw.Model.HydroFlowmeterInfo(); + flowmeter.Catalog = Yw.Hydro.ParterCatalog.Flowmeter; + flowmeter.Name = revitFlowmeter.Name; + flowmeter.UpdatePropStatus(nameof(flowmeter.Name), revitFlowmeter, nameof(revitFlowmeter.Name)); + flowmeter.Code = revitFlowmeter.Code; + flowmeter.UpdatePropStatus(nameof(flowmeter.Code), revitFlowmeter, nameof(revitFlowmeter.Code)); + flowmeter.ModelType = revitFlowmeter.ModelType; + flowmeter.UpdatePropStatus(nameof(flowmeter.ModelType), revitFlowmeter, nameof(revitFlowmeter.ModelType)); + flowmeter.Flags = revitFlowmeter.Flags; + flowmeter.UpdatePropStatus(nameof(flowmeter.Flags), revitFlowmeter, nameof(revitFlowmeter.Flags)); + flowmeter.Description = revitFlowmeter.Description; + flowmeter.UpdatePropStatus(nameof(flowmeter.Description), revitFlowmeter, nameof(revitFlowmeter.Description)); + flowmeter.Quality = revitFlowmeter.Quality; + flowmeter.UpdatePropStatus(nameof(flowmeter.Quality), revitFlowmeter, nameof(revitFlowmeter.Quality)); + flowmeter.Elev = revitFlowmeter.Elev; + flowmeter.UpdatePropStatus(nameof(flowmeter.Elev), revitFlowmeter, nameof(revitFlowmeter.Elev)); + flowmeter.MinorLoss = revitFlowmeter.MinorLoss; + flowmeter.UpdatePropStatus(nameof(flowmeter.MinorLoss), revitFlowmeter, nameof(revitFlowmeter.MinorLoss)); + flowmeter.Demand = revitFlowmeter.Demand; + flowmeter.UpdatePropStatus(nameof(flowmeter.Demand), revitFlowmeter, nameof(revitFlowmeter.Demand)); + flowmeter.DemandPattern = revitFlowmeter.DemandPattern; + flowmeter.UpdatePropStatus(nameof(flowmeter.DemandPattern), revitFlowmeter, nameof(revitFlowmeter.DemandPattern)); + flowmeter.Position2d = new Yw.Model.Hydro.Position2d(revitFlowmeter.Position.X, revitFlowmeter.Position.Y); + flowmeter.UpdatePropStatus(nameof(flowmeter.Position2d), revitFlowmeter, nameof(revitFlowmeter.Position)); + flowmeter.Position3d = new Yw.Model.Hydro.Position3d(revitFlowmeter.Position.X, revitFlowmeter.Position.Y, revitFlowmeter.Position.Z); + flowmeter.UpdatePropStatus(nameof(flowmeter.Position3d), revitFlowmeter, nameof(revitFlowmeter.Position)); + flowmeter.ScenePropValueList = revitFlowmeter.PropValueList?.Select(x => new Yw.Model.HydroParterScenePropValueInfo() + { + Scene = HStation.Revit.ConstParas.Scene, + PropName = x.PropName, + PropValue = x.PropValue + }).ToList(); + return flowmeter; + } + + //鍘嬪姏琛� + private static Yw.Model.HydroPressmeterInfo FromRevit(HStation.Model.RevitPressmeter revitPressmeter) + { + if (revitPressmeter == null) + { + return default; + } + var pressmeter = new Yw.Model.HydroPressmeterInfo(); + pressmeter.Catalog = Yw.Hydro.ParterCatalog.Pressmeter; + pressmeter.Name = revitPressmeter.Name; + pressmeter.UpdatePropStatus(nameof(pressmeter.Name), revitPressmeter, nameof(revitPressmeter.Name)); + pressmeter.Code = revitPressmeter.Code; + pressmeter.UpdatePropStatus(nameof(pressmeter.Code), revitPressmeter, nameof(revitPressmeter.Code)); + pressmeter.ModelType = revitPressmeter.ModelType; + pressmeter.UpdatePropStatus(nameof(pressmeter.ModelType), revitPressmeter, nameof(revitPressmeter.ModelType)); + pressmeter.Flags = revitPressmeter.Flags; + pressmeter.UpdatePropStatus(nameof(pressmeter.Flags), revitPressmeter, nameof(revitPressmeter.Flags)); + pressmeter.Description = revitPressmeter.Description; + pressmeter.UpdatePropStatus(nameof(pressmeter.Description), revitPressmeter, nameof(revitPressmeter.Description)); + pressmeter.Quality = revitPressmeter.Quality; + pressmeter.UpdatePropStatus(nameof(pressmeter.Quality), revitPressmeter, nameof(revitPressmeter.Quality)); + pressmeter.Elev = revitPressmeter.Elev; + pressmeter.UpdatePropStatus(nameof(pressmeter.Elev), revitPressmeter, nameof(revitPressmeter.Elev)); + pressmeter.MinorLoss = revitPressmeter.MinorLoss; + pressmeter.UpdatePropStatus(nameof(pressmeter.MinorLoss), revitPressmeter, nameof(revitPressmeter.MinorLoss)); + pressmeter.Demand = revitPressmeter.Demand; + pressmeter.UpdatePropStatus(nameof(pressmeter.Demand), revitPressmeter, nameof(revitPressmeter.Demand)); + pressmeter.DemandPattern = revitPressmeter.DemandPattern; + pressmeter.UpdatePropStatus(nameof(pressmeter.DemandPattern), revitPressmeter, nameof(revitPressmeter.DemandPattern)); + pressmeter.Position2d = new Yw.Model.Hydro.Position2d(revitPressmeter.Position.X, revitPressmeter.Position.Y); + pressmeter.UpdatePropStatus(nameof(pressmeter.Position2d), revitPressmeter, nameof(revitPressmeter.Position)); + pressmeter.Position3d = new Yw.Model.Hydro.Position3d(revitPressmeter.Position.X, revitPressmeter.Position.Y, revitPressmeter.Position.Z); + pressmeter.UpdatePropStatus(nameof(pressmeter.Position3d), revitPressmeter, nameof(revitPressmeter.Position)); + pressmeter.ScenePropValueList = revitPressmeter.PropValueList?.Select(x => new Yw.Model.HydroParterScenePropValueInfo() + { + Scene = HStation.Revit.ConstParas.Scene, + PropName = x.PropName, + PropValue = x.PropValue + }).ToList(); + return pressmeter; + } + + //绠¢亾 + private static Yw.Model.HydroPipeInfo FromRevit(HStation.Model.RevitPipe revitPipe) + { + if (revitPipe == null) + { + return default; + } + var pipe = new Yw.Model.HydroPipeInfo(); + pipe.Catalog = Yw.Hydro.ParterCatalog.Pipe; + pipe.Name = revitPipe.Name; + pipe.UpdatePropStatus(nameof(pipe.Name), revitPipe, nameof(revitPipe.Name)); + pipe.Code = revitPipe.Code; + pipe.UpdatePropStatus(nameof(pipe.Code), revitPipe, nameof(revitPipe.Code)); + pipe.ModelType = revitPipe.ModelType; + pipe.UpdatePropStatus(nameof(pipe.ModelType), revitPipe, nameof(revitPipe.ModelType)); + pipe.Flags = revitPipe.Flags; + pipe.UpdatePropStatus(nameof(pipe.Flags), revitPipe, nameof(revitPipe.Flags)); + pipe.Description = revitPipe.Description; + pipe.UpdatePropStatus(nameof(pipe.Description), revitPipe, nameof(revitPipe.Description)); + pipe.StartCode = revitPipe.StartCode; + pipe.UpdatePropStatus(nameof(pipe.StartCode), revitPipe, nameof(revitPipe.StartCode)); + pipe.EndCode = revitPipe.EndCode; + pipe.UpdatePropStatus(nameof(pipe.EndCode), revitPipe, nameof(revitPipe.EndCode)); + pipe.LinkStatus = revitPipe.LinkStatus; + pipe.UpdatePropStatus(nameof(pipe.LinkStatus), revitPipe, nameof(revitPipe.LinkStatus)); + pipe.Material = revitPipe.Material; + pipe.UpdatePropStatus(nameof(pipe.Material), revitPipe, nameof(revitPipe.Material)); + pipe.Diameter = revitPipe.Diameter; + pipe.UpdatePropStatus(nameof(pipe.Diameter), revitPipe, nameof(revitPipe.Diameter)); + pipe.Length = revitPipe.Length; + pipe.UpdatePropStatus(nameof(pipe.Length), revitPipe, nameof(revitPipe.Length)); + pipe.Roughness = revitPipe.Roughness; + pipe.UpdatePropStatus(nameof(pipe.Roughness), revitPipe, nameof(revitPipe.Roughness)); + pipe.MinorLoss = revitPipe.MinorLoss; + pipe.UpdatePropStatus(nameof(pipe.MinorLoss), revitPipe, nameof(revitPipe.MinorLoss)); + pipe.ScenePropValueList = revitPipe.PropValueList?.Select(x => new Yw.Model.HydroParterScenePropValueInfo() + { + Scene = HStation.Revit.ConstParas.Scene, + PropName = x.PropName, + PropValue = x.PropValue + }).ToList(); + return pipe; + } + + //杩囨浮浠� + private static Yw.Model.HydroTranslationInfo FromRevit(HStation.Model.RevitTranslation revitTranslation) + { + if (revitTranslation == null) + { + return default; + } + var translation = new Yw.Model.HydroTranslationInfo(); + translation.Catalog = Yw.Hydro.ParterCatalog.Translation; + translation.Name = revitTranslation.Name; + translation.UpdatePropStatus(nameof(translation.Name), revitTranslation, nameof(revitTranslation.Name)); + translation.Code = revitTranslation.Code; + translation.UpdatePropStatus(nameof(translation.Code), revitTranslation, nameof(revitTranslation.Code)); + translation.ModelType = revitTranslation.ModelType; + translation.UpdatePropStatus(nameof(translation.ModelType), revitTranslation, nameof(revitTranslation.ModelType)); + translation.Flags = revitTranslation.Flags; + translation.UpdatePropStatus(nameof(translation.Flags), revitTranslation, nameof(revitTranslation.Flags)); + translation.Description = revitTranslation.Description; + translation.UpdatePropStatus(nameof(translation.Description), revitTranslation, nameof(revitTranslation.Description)); + translation.StartCode = revitTranslation.StartCode; + translation.UpdatePropStatus(nameof(translation.StartCode), revitTranslation, nameof(revitTranslation.StartCode)); + translation.EndCode = revitTranslation.EndCode; + translation.UpdatePropStatus(nameof(translation.EndCode), revitTranslation, nameof(revitTranslation.EndCode)); + translation.LinkStatus = revitTranslation.LinkStatus; + translation.UpdatePropStatus(nameof(translation.LinkStatus), revitTranslation, nameof(revitTranslation.LinkStatus)); + translation.Material = revitTranslation.Material; + translation.UpdatePropStatus(nameof(translation.Material), revitTranslation, nameof(revitTranslation.Material)); + translation.Diameter = revitTranslation.Diameter; + translation.UpdatePropStatus(nameof(translation.Diameter), revitTranslation, nameof(revitTranslation.Diameter)); + translation.Length = revitTranslation.Length; + translation.UpdatePropStatus(nameof(translation.Length), revitTranslation, nameof(revitTranslation.Length)); + translation.Roughness = revitTranslation.Roughness; + translation.UpdatePropStatus(nameof(translation.Roughness), revitTranslation, nameof(revitTranslation.Roughness)); + translation.MinorLoss = revitTranslation.MinorLoss; + translation.UpdatePropStatus(nameof(translation.MinorLoss), revitTranslation, nameof(revitTranslation.MinorLoss)); + translation.ScenePropValueList = revitTranslation.PropValueList?.Select(x => new Yw.Model.HydroParterScenePropValueInfo() + { + Scene = HStation.Revit.ConstParas.Scene, + PropName = x.PropName, + PropValue = x.PropValue + }).ToList(); + return translation; + } + + //杩囨浮浠� + private static Yw.Model.HydroExchangerInfo FromRevit(HStation.Model.RevitExchanger revitExchanger) + { + if (revitExchanger == null) + { + return default; + } + var exchanger = new Yw.Model.HydroExchangerInfo(); + exchanger.Catalog = Yw.Hydro.ParterCatalog.Exchanger; + exchanger.Name = revitExchanger.Name; + exchanger.UpdatePropStatus(nameof(exchanger.Name), revitExchanger, nameof(revitExchanger.Name)); + exchanger.Code = revitExchanger.Code; + exchanger.UpdatePropStatus(nameof(exchanger.Code), revitExchanger, nameof(revitExchanger.Code)); + exchanger.ModelType = revitExchanger.ModelType; + exchanger.UpdatePropStatus(nameof(exchanger.ModelType), revitExchanger, nameof(revitExchanger.ModelType)); + exchanger.Flags = revitExchanger.Flags; + exchanger.UpdatePropStatus(nameof(exchanger.Flags), revitExchanger, nameof(revitExchanger.Flags)); + exchanger.Description = revitExchanger.Description; + exchanger.UpdatePropStatus(nameof(exchanger.Description), revitExchanger, nameof(revitExchanger.Description)); + exchanger.StartCode = revitExchanger.StartCode; + exchanger.UpdatePropStatus(nameof(exchanger.StartCode), revitExchanger, nameof(revitExchanger.StartCode)); + exchanger.EndCode = revitExchanger.EndCode; + exchanger.UpdatePropStatus(nameof(exchanger.EndCode), revitExchanger, nameof(revitExchanger.EndCode)); + exchanger.LinkStatus = revitExchanger.LinkStatus; + exchanger.UpdatePropStatus(nameof(exchanger.LinkStatus), revitExchanger, nameof(revitExchanger.LinkStatus)); + exchanger.Material = revitExchanger.Material; + exchanger.UpdatePropStatus(nameof(exchanger.Material), revitExchanger, nameof(revitExchanger.Material)); + exchanger.Diameter = revitExchanger.Diameter; + exchanger.UpdatePropStatus(nameof(exchanger.Diameter), revitExchanger, nameof(revitExchanger.Diameter)); + exchanger.Length = revitExchanger.Length; + exchanger.UpdatePropStatus(nameof(exchanger.Length), revitExchanger, nameof(revitExchanger.Length)); + exchanger.Roughness = revitExchanger.Roughness; + exchanger.UpdatePropStatus(nameof(exchanger.Roughness), revitExchanger, nameof(revitExchanger.Roughness)); + exchanger.MinorLoss = revitExchanger.MinorLoss; + exchanger.UpdatePropStatus(nameof(exchanger.MinorLoss), revitExchanger, nameof(revitExchanger.MinorLoss)); + exchanger.ScenePropValueList = revitExchanger.PropValueList?.Select(x => new Yw.Model.HydroParterScenePropValueInfo() + { + Scene = HStation.Revit.ConstParas.Scene, + PropName = x.PropName, + PropValue = x.PropValue + }).ToList(); + return exchanger; + } + + //姘存车 + private static Yw.Model.HydroPumpInfo FromRevit(HStation.Model.RevitPump revitPump) + { + if (revitPump == null) + { + return default; + } + var pump = new Yw.Model.HydroPumpInfo(); + pump.Catalog = Yw.Hydro.ParterCatalog.Pump; + pump.Name = revitPump.Name; + pump.UpdatePropStatus(nameof(pump.Name), revitPump, nameof(revitPump.Name)); + pump.Code = revitPump.Code; + pump.UpdatePropStatus(nameof(pump.Code), revitPump, nameof(revitPump.Code)); + pump.ModelType = revitPump.ModelType; + pump.UpdatePropStatus(nameof(pump.ModelType), revitPump, nameof(revitPump.ModelType)); + pump.Flags = revitPump.Flags; + pump.UpdatePropStatus(nameof(pump.Flags), revitPump, nameof(revitPump.Flags)); + pump.Description = revitPump.Description; + pump.UpdatePropStatus(nameof(pump.Description), revitPump, nameof(revitPump.Description)); + pump.StartCode = revitPump.StartCode; + pump.UpdatePropStatus(nameof(pump.StartCode), revitPump, nameof(revitPump.StartCode)); + pump.EndCode = revitPump.EndCode; + pump.UpdatePropStatus(nameof(pump.EndCode), revitPump, nameof(revitPump.EndCode)); + pump.LinkStatus = revitPump.LinkStatus; + pump.UpdatePropStatus(nameof(pump.LinkStatus), revitPump, nameof(revitPump.LinkStatus)); + pump.RatedP = revitPump.RatedP; + pump.UpdatePropStatus(nameof(pump.RatedP), revitPump, nameof(revitPump.RatedP)); + pump.RatedQ = revitPump.RatedQ; + pump.UpdatePropStatus(nameof(pump.RatedQ), revitPump, nameof(revitPump.RatedQ)); + pump.RatedH = revitPump.RatedH; + pump.UpdatePropStatus(nameof(pump.RatedH), revitPump, nameof(revitPump.RatedH)); + pump.RatedN = revitPump.RatedN; + pump.UpdatePropStatus(nameof(pump.RatedN), revitPump, nameof(revitPump.RatedN)); + pump.RatedHz = revitPump.RatedHz; + pump.UpdatePropStatus(nameof(pump.RatedHz), revitPump, nameof(revitPump.RatedHz)); + pump.SpeedRatio = revitPump.SpeedRatio; + pump.UpdatePropStatus(nameof(pump.SpeedRatio), revitPump, nameof(revitPump.SpeedRatio)); + pump.SpeedRatioPattern = revitPump.SpeedRatioPattern; + pump.UpdatePropStatus(nameof(pump.SpeedRatioPattern), revitPump, nameof(revitPump.SpeedRatioPattern)); + pump.CurveQH = revitPump.CurveQH; + pump.UpdatePropStatus(nameof(pump.CurveQH), revitPump, nameof(revitPump.CurveQH)); + pump.CurveQP = revitPump.CurveQP; + pump.UpdatePropStatus(nameof(pump.CurveQP), revitPump, nameof(revitPump.CurveQP)); + pump.CurveQE = revitPump.CurveQE; + pump.UpdatePropStatus(nameof(pump.CurveQE), revitPump, nameof(revitPump.CurveQE)); + pump.Price = revitPump.Price; + pump.UpdatePropStatus(nameof(pump.Price), revitPump, nameof(revitPump.Price)); + pump.PricePattern = revitPump.PricePattern; + pump.UpdatePropStatus(nameof(pump.PricePattern), revitPump, nameof(revitPump.PricePattern)); + pump.ScenePropValueList = revitPump.PropValueList?.Select(x => new Yw.Model.HydroParterScenePropValueInfo() + { + Scene = HStation.Revit.ConstParas.Scene, + PropName = x.PropName, + PropValue = x.PropValue + }).ToList(); + return pump; + } + + //闃�闂� + private static Yw.Model.HydroValveInfo FromRevit(HStation.Model.RevitValve revitValve) + { + if (revitValve == null) + { + return default; + } + var valve = new Yw.Model.HydroValveInfo(); + valve.Catalog = Yw.Hydro.ParterCatalog.Valve; + valve.Name = revitValve.Name; + valve.UpdatePropStatus(nameof(valve.Name), revitValve, nameof(revitValve.Name)); + valve.Code = revitValve.Code; + valve.UpdatePropStatus(nameof(valve.Code), revitValve, nameof(revitValve.Code)); + valve.ModelType = revitValve.ModelType; + valve.UpdatePropStatus(nameof(valve.ModelType), revitValve, nameof(revitValve.ModelType)); + valve.Flags = revitValve.Flags; + valve.UpdatePropStatus(nameof(valve.Flags), revitValve, nameof(revitValve.Flags)); + valve.Description = revitValve.Description; + valve.UpdatePropStatus(nameof(valve.Description), revitValve, nameof(revitValve.Description)); + valve.StartCode = revitValve.StartCode; + valve.UpdatePropStatus(nameof(valve.StartCode), revitValve, nameof(revitValve.StartCode)); + valve.EndCode = revitValve.EndCode; + valve.UpdatePropStatus(nameof(valve.EndCode), revitValve, nameof(revitValve.EndCode)); + valve.LinkStatus = revitValve.LinkStatus; + valve.UpdatePropStatus(nameof(valve.LinkStatus), revitValve, nameof(revitValve.LinkStatus)); + valve.Material = revitValve.Material; + valve.UpdatePropStatus(nameof(valve.Material), revitValve, nameof(revitValve.Material)); + valve.Diameter = revitValve.Diameter; + valve.UpdatePropStatus(nameof(valve.Diameter), revitValve, nameof(revitValve.Diameter)); + valve.MinorLoss = revitValve.MinorLoss; + valve.UpdatePropStatus(nameof(valve.MinorLoss), revitValve, nameof(revitValve.MinorLoss)); + valve.ValveType = revitValve.ValveType; + valve.UpdatePropStatus(nameof(valve.ValveType), revitValve, nameof(revitValve.ValveType)); + valve.OpeningDegree = revitValve.OpeningDegree; + valve.UpdatePropStatus(nameof(valve.OpeningDegree), revitValve, nameof(revitValve.OpeningDegree)); + valve.ValveSetting = revitValve.ValveSetting; + valve.UpdatePropStatus(nameof(valve.ValveSetting), revitValve, nameof(revitValve.ValveSetting)); + valve.ScenePropValueList = revitValve.PropValueList?.Select(x => new Yw.Model.HydroParterScenePropValueInfo() + { + Scene = HStation.Revit.ConstParas.Scene, + PropName = x.PropName, + PropValue = x.PropValue + }).ToList(); + return valve; + } + } } -- Gitblit v1.9.3