From ba4fd2f2456a3cee97cc90204c9e21505a42b2aa Mon Sep 17 00:00:00 2001 From: lixiaojun <1287241240@qq.com> Date: 星期五, 25 十月 2024 14:40:09 +0800 Subject: [PATCH] 优化Revit解析 --- Service/HStation.Service.Revit.Core/04-service/01-json/RevitJsonHelper.cs | 89 ++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 88 insertions(+), 1 deletions(-) diff --git a/Service/HStation.Service.Revit.Core/04-service/01-json/RevitJsonHelper.cs b/Service/HStation.Service.Revit.Core/04-service/01-json/RevitJsonHelper.cs index f3b8866..17fc912 100644 --- a/Service/HStation.Service.Revit.Core/04-service/01-json/RevitJsonHelper.cs +++ b/Service/HStation.Service.Revit.Core/04-service/01-json/RevitJsonHelper.cs @@ -1,4 +1,6 @@ -锘縩amespace HStation.Service +锘縰sing System.Transactions; + +namespace HStation.Service { /// <summary> /// Revit Json杈呭姪绫� @@ -301,6 +303,7 @@ } var junction = new Model.RevitJunction(); + junction.Catalog = RevitJsonCatalog.Junction; #region Id @@ -533,6 +536,7 @@ } var nozzle = new Model.RevitNozzle(); + nozzle.Catalog = RevitJsonCatalog.Nozzle; #region Id @@ -795,6 +799,7 @@ } var hydrant = new Model.RevitHydrant(); + hydrant.Catalog = RevitJsonCatalog.Hydrant; #region Id @@ -1055,6 +1060,7 @@ } var blunthead = new Model.RevitBlunthead(); + blunthead.Catalog = RevitJsonCatalog.Blunthead; #region Id @@ -1330,6 +1336,7 @@ } var elbow = new Model.RevitElbow(); + elbow.Catalog = RevitJsonCatalog.Elbow; #region Id @@ -1605,6 +1612,7 @@ } var threelink = new Model.RevitThreelink(); + threelink.Catalog = RevitJsonCatalog.Threelink; #region Id @@ -1880,6 +1888,7 @@ } var fourlink = new Model.RevitFourlink(); + fourlink.Catalog = RevitJsonCatalog.Fourlink; #region Id @@ -2155,6 +2164,7 @@ } var meter = new Model.RevitMeter(); + meter.Catalog = RevitJsonCatalog.Meter; #region Id @@ -2387,6 +2397,7 @@ } var flowmeter = new Model.RevitFlowmeter(); + flowmeter.Catalog = RevitJsonCatalog.Flowmeter; #region Id @@ -2607,6 +2618,19 @@ #endregion + #region Flow + + if (jobject[RevitJsonProp.Flow].MatchNumeric(out double flow)) + { + flowmeter.CurrentFlow = flow; + } + else + { + flowmeter.AppendOrUpdatePropStatus(nameof(flowmeter.CurrentFlow), ePropStatus.Abnormal, "[娴侀噺]缂哄皯鎴栬�呮暟鎹牸寮忛敊璇�"); + } + + #endregion + return flowmeter; } @@ -2619,6 +2643,7 @@ } var pressmeter = new Model.RevitPressmeter(); + pressmeter.Catalog = RevitJsonCatalog.Pressmeter; #region Id @@ -2839,6 +2864,19 @@ #endregion + #region Press + + if (jobject[RevitJsonProp.Press].MatchNumeric(out double press)) + { + pressmeter.CurrentPress = Yw.Pump.CalculationHelper.Mpa2M(press); + } + else + { + pressmeter.AppendOrUpdatePropStatus(nameof(pressmeter.CurrentPress), ePropStatus.Abnormal, "[鍘嬪姏]缂哄皯鎴栬�呮暟鎹牸寮忛敊璇�"); + } + + #endregion + return pressmeter; } @@ -2851,6 +2889,7 @@ } var reservoir = new Model.RevitReservoir(); + reservoir.Catalog = RevitJsonCatalog.Reservoir; #region Id @@ -3083,6 +3122,7 @@ } var tank = new Model.RevitTank(); + tank.Catalog = RevitJsonCatalog.Tank; #region Id @@ -3372,6 +3412,7 @@ } var waterbox = new Model.RevitWaterbox(); + waterbox.Catalog = RevitJsonCatalog.Waterbox; #region Id @@ -3661,6 +3702,7 @@ } var pipe = new Model.RevitPipe(); + pipe.Catalog = RevitJsonCatalog.Pipe; #region Id @@ -4063,6 +4105,7 @@ } var translation = new Model.RevitTranslation(); + translation.Catalog = RevitJsonCatalog.Translation; #region Id @@ -4465,6 +4508,7 @@ } var exchanger = new Model.RevitExchanger(); + exchanger.Catalog = RevitJsonCatalog.Exchanger; #region Id @@ -4855,6 +4899,19 @@ #endregion + #region MinorLossK + + if (jobject[RevitJsonProp.MinorLossK].MatchNumeric(out double minorLossK)) + { + exchanger.MinorLossK = minorLossK; + } + else + { + exchanger.AppendOrUpdatePropStatus(nameof(exchanger.MinorLossK), ePropStatus.Abnormal, "[鎹㈢儹鍣╙[鎹熷けK绯绘暟]缂哄皯鎴栬�呮暟鎹牸寮忛敊璇�"); + } + + #endregion + return exchanger; } @@ -4867,6 +4924,7 @@ } var compressor = new Model.RevitCompressor(); + compressor.Catalog = RevitJsonCatalog.Compressor; #region Id @@ -5257,6 +5315,19 @@ #endregion + #region MinorLossK + + if (jobject[RevitJsonProp.MinorLossK].MatchNumeric(out double minorLossK)) + { + compressor.MinorLossK = minorLossK; + } + else + { + compressor.AppendOrUpdatePropStatus(nameof(compressor.MinorLossK), ePropStatus.Abnormal, "[绌哄帇鏈篯[鎹熷けK绯绘暟]缂哄皯鎴栬�呮暟鎹牸寮忛敊璇�"); + } + + #endregion + return compressor; } @@ -5268,6 +5339,7 @@ return default; } var pump = new Model.RevitPump(); + pump.Catalog = RevitJsonCatalog.Pump; #region Id @@ -5758,6 +5830,7 @@ return default; } var valve = new Model.RevitValve(); + valve.Catalog = RevitJsonCatalog.Valve; #region Id @@ -6114,6 +6187,20 @@ #endregion + #region OpeningDegree + + if (jobject[RevitJsonProp.ValveOpeningDegree].MatchNumeric(out double openingDegree)) + { + valve.OpeningDegree = openingDegree; + } + else + { + valve.OpeningDegree = 100; + valve.AppendOrUpdatePropStatus(nameof(valve.MinorLoss), ePropStatus.Abnormal, "[闃�闂ㄥ紑搴缂哄皯鎴栬�呮暟鎹牸寮忛敊璇紝浣跨敤榛樿鍊�(100)杩涜淇"); + } + + #endregion + #region ValveSetting if (jobject.ParseString(RevitJsonProp.ValveSetting, out string valveSetting)) -- Gitblit v1.9.3