From 7ddeb60ea935a8e1cfb2e835f7ba6898879d5716 Mon Sep 17 00:00:00 2001 From: lixiaojun <1287241240@qq.com> Date: 星期二, 05 十一月 2024 13:03:06 +0800 Subject: [PATCH] 增加属性相关更新方法 --- Hydro/Yw.Hydro.Core/ParseHelper.cs | 84 +++++++++++++++++++++++++++++------------ 1 files changed, 59 insertions(+), 25 deletions(-) diff --git a/Hydro/Yw.Hydro.Core/ParseHelper.cs b/Hydro/Yw.Hydro.Core/ParseHelper.cs index 6030acd..a7dc48f 100644 --- a/Hydro/Yw.Hydro.Core/ParseHelper.cs +++ b/Hydro/Yw.Hydro.Core/ParseHelper.cs @@ -1,6 +1,4 @@ -锘縰sing System.Transactions; - -namespace Yw.Hydro +锘縩amespace Yw.Hydro { /// <summary> /// 瑙f瀽杈呭姪绫� @@ -28,7 +26,7 @@ var junctionModel = new Junction(); junctionModel.Id = junction.Code; junctionModel.Name = junction.Name; - junctionModel.Quality = junction.Quality; + junctionModel.Quality = 0; junctionModel.Position = new Position2d(junction.Position2d.X, junction.Position2d.Y); junctionModel.Elev = junction.Elev; junctionModel.Demand = junction.Demand; @@ -46,7 +44,7 @@ var nozzleModel = new Nozzle(); nozzleModel.Id = nozzle.Code; nozzleModel.Name = nozzle.Name; - nozzleModel.Quality = nozzle.Quality; + nozzleModel.Quality = 0; nozzleModel.Position = new Position2d(nozzle.Position2d.X, nozzle.Position2d.Y); nozzleModel.Elev = nozzle.Elev; nozzleModel.Demand = nozzle.Demand; @@ -64,7 +62,7 @@ var hydrantModel = new Hydrant(); hydrantModel.Id = hydrant.Code; hydrantModel.Name = hydrant.Name; - hydrantModel.Quality = hydrant.Quality; + hydrantModel.Quality = 0; hydrantModel.Position = new Position2d(hydrant.Position2d.X, hydrant.Position2d.Y); hydrantModel.Elev = hydrant.Elev; hydrantModel.Demand = hydrant.Demand; @@ -82,7 +80,7 @@ var elbowModel = new Junction(); elbowModel.Id = elbow.Code; elbowModel.Name = elbow.Name; - elbowModel.Quality = elbow.Quality; + elbowModel.Quality = 0; elbowModel.Position = new Position2d(elbow.Position2d.X, elbow.Position2d.Y); elbowModel.Elev = elbow.Elev; elbowModel.Demand = elbow.Demand; @@ -99,7 +97,7 @@ var threelinkModel = new Junction(); threelinkModel.Id = threelink.Code; threelinkModel.Name = threelink.Name; - threelinkModel.Quality = threelink.Quality; + threelinkModel.Quality = 0; threelinkModel.Position = new Position2d(threelink.Position2d.X, threelink.Position2d.Y); threelinkModel.Elev = threelink.Elev; threelinkModel.Demand = threelink.Demand; @@ -116,7 +114,7 @@ var fourlinkModel = new Junction(); fourlinkModel.Id = fourlink.Code; fourlinkModel.Name = fourlink.Name; - fourlinkModel.Quality = fourlink.Quality; + fourlinkModel.Quality = 0; fourlinkModel.Position = new Position2d(fourlink.Position2d.X, fourlink.Position2d.Y); fourlinkModel.Elev = fourlink.Elev; fourlinkModel.Demand = fourlink.Demand; @@ -133,7 +131,7 @@ var meterModel = new Meter(); meterModel.Id = meter.Code; meterModel.Name = meter.Name; - meterModel.Quality = meter.Quality; + meterModel.Quality = 0; meterModel.Position = new Position2d(meter.Position2d.X, meter.Position2d.Y); meterModel.Elev = meter.Elev; meterModel.Demand = meter.Demand; @@ -150,7 +148,7 @@ var flowmeterModel = new Junction(); flowmeterModel.Id = flowmeter.Code; flowmeterModel.Name = flowmeter.Name; - flowmeterModel.Quality = flowmeter.Quality; + flowmeterModel.Quality = 0; flowmeterModel.Position = new Position2d(flowmeter.Position2d.X, flowmeter.Position2d.Y); flowmeterModel.Elev = flowmeter.Elev; flowmeterModel.Demand = flowmeter.Demand; @@ -167,7 +165,7 @@ var pressmeterModel = new Junction(); pressmeterModel.Id = pressmeter.Code; pressmeterModel.Name = pressmeter.Name; - pressmeterModel.Quality = pressmeter.Quality; + pressmeterModel.Quality = 0; pressmeterModel.Position = new Position2d(pressmeter.Position2d.X, pressmeter.Position2d.Y); pressmeterModel.Elev = pressmeter.Elev; pressmeterModel.Demand = pressmeter.Demand; @@ -184,7 +182,7 @@ var bluntheadModel = new Junction(); bluntheadModel.Id = blunthead.Code; bluntheadModel.Name = blunthead.Name; - bluntheadModel.Quality = blunthead.Quality; + bluntheadModel.Quality = 0; bluntheadModel.Position = new Position2d(blunthead.Position2d.X, blunthead.Position2d.Y); bluntheadModel.Elev = blunthead.Elev; bluntheadModel.Demand = blunthead.Demand; @@ -201,7 +199,7 @@ var reservoirModel = new Reservoir(); reservoirModel.Id = reservoir.Code; reservoirModel.Name = reservoir.Name; - reservoirModel.Quality = reservoir.Quality; + reservoirModel.Quality = 0; reservoirModel.Position = new Position2d(reservoir.Position2d.X, reservoir.Position2d.Y); reservoirModel.PoolElev = reservoir.PoolElev.HasValue ? reservoir.PoolElev.Value : 0; reservoirModel.Head = reservoir.Head; @@ -218,7 +216,7 @@ var tankModel = new Tank(); tankModel.Id = tank.Code; tankModel.Name = tank.Name; - tankModel.Quality = tank.Quality; + tankModel.Quality = 0; tankModel.Position = new Position2d(tank.Position2d.X, tank.Position2d.Y); tankModel.PoolElev = tank.PoolElev; tankModel.InitLevel = tank.InitLevel; @@ -226,7 +224,7 @@ tankModel.MinLevel = tank.MinLevel; tankModel.MinVol = tank.MinVol; tankModel.VolCurve = tank.VolCurve; - tankModel.Diameter = tank.Diameter; + tankModel.Diameter = tank.DN; netWork.Tanks.Add(tankModel); } } @@ -239,7 +237,7 @@ var waterboxModel = new Tank(); waterboxModel.Id = waterbox.Code; waterboxModel.Name = waterbox.Name; - waterboxModel.Quality = waterbox.Quality; + waterboxModel.Quality = 0; waterboxModel.Position = new Position2d(waterbox.Position2d.X, waterbox.Position2d.Y); waterboxModel.PoolElev = waterbox.PoolElev; waterboxModel.InitLevel = waterbox.InitLevel; @@ -247,7 +245,8 @@ waterboxModel.MinLevel = waterbox.MinLevel; waterboxModel.MinVol = waterbox.MinVol; waterboxModel.VolCurve = waterbox.VolCurve; - waterboxModel.Diameter = waterbox.Diameter; + waterboxModel.Diameter = waterbox.DN; + waterboxModel.Overflow = waterbox.OverFlow; netWork.Tanks.Add(waterboxModel); } } @@ -301,17 +300,34 @@ { foreach (var exchanger in model.Exchangers) { - var exchangerModel = new Pipe(); + var exchangerModel = new HeatExchanger(); exchangerModel.Id = exchanger.Code; exchangerModel.Name = exchanger.Name; exchangerModel.StartNode = allNodes.Find(x => x.Id == exchanger.StartCode); exchangerModel.EndNode = allNodes.Find(x => x.Id == exchanger.EndCode); exchangerModel.LinkStatus = exchanger.LinkStatus; - exchangerModel.Length = exchanger.Length; exchangerModel.Diameter = exchanger.Diameter; - exchangerModel.Roughness = exchanger.Roughness; exchangerModel.MinorLoss = exchanger.MinorLoss; - netWork.Pipes.Add(exchangerModel); + exchangerModel.FlowHeadLossCurve = "GPVDefault"; + netWork.HeatExchangers.Add(exchangerModel); + } + } + + //鍘嬬缉鏈� + if (model.Compressors != null && model.Compressors.Count > 0) + { + foreach (var compressor in model.Compressors) + { + var compressModel = new AirCompressor(); + compressModel.Id = compressor.Code; + compressModel.Name = compressor.Name; + compressModel.StartNode = allNodes.Find(x => x.Id == compressor.StartCode); + compressModel.EndNode = allNodes.Find(x => x.Id == compressor.EndCode); + compressModel.LinkStatus = compressor.LinkStatus; + compressModel.Diameter = compressor.Diameter; + compressModel.MinorLoss = compressor.MinorLoss; + compressModel.FlowHeadLossCurve = "GPVDefault"; + netWork.AirCompressors.Add(compressModel); } } @@ -326,12 +342,15 @@ pumpModel.StartNode = allNodes.Find(x => x.Id == pump.StartCode); pumpModel.EndNode = allNodes.Find(x => x.Id == pump.EndCode); pumpModel.LinkStatus = pump.LinkStatus; - pumpModel.RatedPower = pump.RatedPower; + pumpModel.RatedPower = pump.RatedP; pumpModel.CurveQH = pump.CurveQH; + if (string.IsNullOrEmpty(pumpModel.CurveQH)) + { + pumpModel.CurveQH = "PumpDefault";//浣跨敤network榛樿娉垫洸绾� + } + pumpModel.SpeedRatio = pump.SpeedRatio; pumpModel.SpeedRatioPattern = pump.SpeedRatioPattern; - pumpModel.Price = pump.Price; - pumpModel.PricePattern = pump.PricePattern; pumpModel.CurveQE = pump.CurveQE; netWork.Pumps.Add(pumpModel); } @@ -357,6 +376,21 @@ } } + //鏇茬嚎 + if (model.Curves != null && model.Curves.Count > 0) + { + foreach (var curve in model.Curves) + { + var curveModel = new Yw.EPAnet.Curve(); + curveModel.Id = curve.Code; + curveModel.Name = curve.Name; + curveModel.CurveType = curve.CurveType; + curveModel.CurveData = curve.CurveData?.Select(x => new CurvePoint(x.X, x.Y)).ToList(); + netWork.Curves.Add(curveModel); + } + } + + #endregion -- Gitblit v1.9.3