From f0cebbd2deb4dbf9e89dac4768415de62fd1fc20 Mon Sep 17 00:00:00 2001 From: Shuxia Ning <NingShuxia0927@outlook.com> Date: 星期四, 16 一月 2025 14:40:27 +0800 Subject: [PATCH] 泵图表 修改文字位置 --- Service/HStation.Service.Revit.Core/04-service/01-json/RevitJsonHelper.cs | 409 +++++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 357 insertions(+), 52 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 d1c0772..7636589 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 @@ -21,8 +21,8 @@ msg = "Revit json 瀛楃涓蹭负绌�"; return default; } - try - { + //try + //{ var model = new Model.RevitModel(); //瑙f瀽缁撴瀯json @@ -260,12 +260,12 @@ } return model; - } - catch (Exception ex) - { - msg = ex.Message; - return default; - } + //} + //catch (Exception ex) + //{ + // msg = ex.Message; + // return default; + //} } @@ -371,6 +371,10 @@ else { reservoir.UpdatePropStatus(nameof(reservoir.Flags), ePropStatus.Error, "缂哄皯[鏍囩淇℃伅]"); + } + if (reservoir.Flags == null) + { + reservoir.Flags = new List<string>(); } #endregion @@ -569,6 +573,11 @@ else { tank.UpdatePropStatus(nameof(tank.Flags), ePropStatus.Error, "缂哄皯[鏍囩淇℃伅]"); + } + + if (tank.Flags == null) + { + tank.Flags = new List<string>(); } #endregion @@ -844,6 +853,11 @@ waterbox.UpdatePropStatus(nameof(waterbox.Flags), ePropStatus.Error, "缂哄皯[鏍囩淇℃伅]"); } + if (waterbox.Flags == null) + { + waterbox.Flags = new List<string>(); + } + #endregion #region Description @@ -1117,6 +1131,11 @@ junction.UpdatePropStatus(nameof(junction.Flags), ePropStatus.Error, "缂哄皯[鏍囩淇℃伅]"); } + if (junction.Flags == null) + { + junction.Flags = new List<string>(); + } + #endregion #region Description @@ -1172,7 +1191,7 @@ #region Elev - if (jobject[RevitJsonProp.Elev].MatchNumeric(out double elev)) + if (jobject[RevitJsonProp.ElevInfo].MatchNumeric(out double elev)) { junction.Elev = elev; } @@ -1186,11 +1205,20 @@ if (jobject[RevitJsonProp.ElevOfElevation].MatchNumeric(out double elevOfElevation)) { junction.Elev = elevOfElevation / 1000f; + var jre = jobject[RevitJsonProp.Elev]; + if (jre != null) + { + if (jre[RevitJsonProp.ElevFacade].MatchNumeric(out double facade)) + { + junction.Elev += facade / 1000f; + } + } } else { junction.UpdatePropStatus(nameof(junction.Elev), ePropStatus.Abnormal, "[鏍囬珮涓殑楂樼▼]缂哄皯鎴栬�呮牸寮忛敊璇�"); } + } if (junction.Elev <= 0) @@ -1328,6 +1356,11 @@ blunthead.UpdatePropStatus(nameof(blunthead.Flags), ePropStatus.Error, "缂哄皯[鏍囩淇℃伅]"); } + if (blunthead.Flags == null) + { + blunthead.Flags = new List<string>(); + } + #endregion #region Description @@ -1383,7 +1416,7 @@ #region Elev - if (jobject[RevitJsonProp.Elev].MatchNumeric(out double elev)) + if (jobject[RevitJsonProp.ElevInfo].MatchNumeric(out double elev)) { blunthead.Elev = elev; } @@ -1397,6 +1430,14 @@ if (jobject[RevitJsonProp.ElevOfElevation].MatchNumeric(out double elevOfElevation)) { blunthead.Elev = elevOfElevation / 1000f; + var jre = jobject[RevitJsonProp.Elev]; + if (jre != null) + { + if (jre[RevitJsonProp.ElevFacade].MatchNumeric(out double facade)) + { + blunthead.Elev += facade / 1000f; + } + } } else { @@ -1443,7 +1484,14 @@ { blunthead.Caliber = caliber; } - else + if (blunthead.Caliber <= 0) + { + if (jobject[RevitJsonProp.DN].MatchNumeric(out caliber)) + { + blunthead.Caliber = caliber; + } + } + if (blunthead.Caliber <= 0) { blunthead.UpdatePropStatus(nameof(blunthead.Caliber), ePropStatus.Abnormal, "[鍙e緞淇℃伅]缂哄皯鎴栬�呮暟鎹牸寮忛敊璇�"); } @@ -1570,6 +1618,11 @@ elbow.UpdatePropStatus(nameof(elbow.Flags), ePropStatus.Error, "缂哄皯[鏍囩淇℃伅]"); } + if (elbow.Flags == null) + { + elbow.Flags = new List<string>(); + } + #endregion #region Description @@ -1625,7 +1678,7 @@ #region Elev - if (jobject[RevitJsonProp.Elev].MatchNumeric(out double elev)) + if (jobject[RevitJsonProp.ElevInfo].MatchNumeric(out double elev)) { elbow.Elev = elev; } @@ -1639,6 +1692,14 @@ if (jobject[RevitJsonProp.ElevOfElevation].MatchNumeric(out double elevOfElevation)) { elbow.Elev = elevOfElevation / 1000f; + var jre = jobject[RevitJsonProp.Elev]; + if (jre != null) + { + if (jre[RevitJsonProp.ElevFacade].MatchNumeric(out double facade)) + { + elbow.Elev += facade / 1000f; + } + } } else { @@ -1685,7 +1746,14 @@ { elbow.Caliber = caliber; } - else + if (elbow.Caliber <= 0) + { + if (jobject[RevitJsonProp.DN].MatchNumeric(out caliber)) + { + elbow.Caliber = caliber; + } + } + if (elbow.Caliber <= 0) { elbow.UpdatePropStatus(nameof(elbow.Caliber), ePropStatus.Abnormal, "[鍙e緞淇℃伅]缂哄皯鎴栬�呮暟鎹牸寮忛敊璇�"); } @@ -1739,7 +1807,7 @@ if (jobject[RevitJsonProp.BendingAngle].MatchNumeric(out double bendingAngle)) { - elbow.BendingAngle = bendingAngle; + elbow.BendingAngle = (int)bendingAngle; } else { @@ -1841,6 +1909,11 @@ threelink.UpdatePropStatus(nameof(threelink.Flags), ePropStatus.Error, "缂哄皯[鏍囩淇℃伅]"); } + if (threelink.Flags == null) + { + threelink.Flags = new List<string>(); + } + #endregion #region Description @@ -1896,7 +1969,7 @@ #region Elev - if (jobject[RevitJsonProp.Elev].MatchNumeric(out double elev)) + if (jobject[RevitJsonProp.ElevInfo].MatchNumeric(out double elev)) { threelink.Elev = elev; } @@ -1910,6 +1983,14 @@ if (jobject[RevitJsonProp.ElevOfElevation].MatchNumeric(out double elevOfElevation)) { threelink.Elev = elevOfElevation / 1000f; + var jre = jobject[RevitJsonProp.Elev]; + if (jre != null) + { + if (jre[RevitJsonProp.ElevFacade].MatchNumeric(out double facade)) + { + threelink.Elev += facade / 1000f; + } + } } else { @@ -1956,7 +2037,14 @@ { threelink.Caliber = caliber; } - else + if (threelink.Caliber <= 0) + { + if (jobject[RevitJsonProp.DN].MatchNumeric(out caliber)) + { + threelink.Caliber = caliber; + } + } + if (threelink.Caliber <= 0) { threelink.UpdatePropStatus(nameof(threelink.Caliber), ePropStatus.Abnormal, "[鍙e緞淇℃伅]缂哄皯鎴栬�呮暟鎹牸寮忛敊璇�"); } @@ -2108,6 +2196,11 @@ fourlink.UpdatePropStatus(nameof(fourlink.Flags), ePropStatus.Error, "缂哄皯[鏍囩淇℃伅]"); } + if (fourlink.Flags == null) + { + fourlink.Flags = new List<string>(); + } + #endregion #region Description @@ -2163,7 +2256,7 @@ #region Elev - if (jobject[RevitJsonProp.Elev].MatchNumeric(out double elev)) + if (jobject[RevitJsonProp.ElevInfo].MatchNumeric(out double elev)) { fourlink.Elev = elev; } @@ -2177,6 +2270,14 @@ if (jobject[RevitJsonProp.ElevOfElevation].MatchNumeric(out double elevOfElevation)) { fourlink.Elev = elevOfElevation / 1000f; + var jre = jobject[RevitJsonProp.Elev]; + if (jre != null) + { + if (jre[RevitJsonProp.ElevFacade].MatchNumeric(out double facade)) + { + fourlink.Elev += facade / 1000f; + } + } } else { @@ -2223,7 +2324,14 @@ { fourlink.Caliber = caliber; } - else + if (fourlink.Caliber <= 0) + { + if (jobject[RevitJsonProp.DN].MatchNumeric(out caliber)) + { + fourlink.Caliber = caliber; + } + } + if (fourlink.Caliber <= 0) { fourlink.UpdatePropStatus(nameof(fourlink.Caliber), ePropStatus.Abnormal, "[鍙e緞淇℃伅]缂哄皯鎴栬�呮暟鎹牸寮忛敊璇�"); } @@ -2349,6 +2457,11 @@ nozzle.UpdatePropStatus(nameof(nozzle.Flags), ePropStatus.Error, "缂哄皯[鏍囩淇℃伅]"); } + if (nozzle.Flags == null) + { + nozzle.Flags = new List<string>(); + } + #endregion #region Description @@ -2404,7 +2517,7 @@ #region Elev - if (jobject[RevitJsonProp.Elev].MatchNumeric(out double elev)) + if (jobject[RevitJsonProp.ElevInfo].MatchNumeric(out double elev)) { nozzle.Elev = elev; } @@ -2418,6 +2531,14 @@ if (jobject[RevitJsonProp.ElevOfElevation].MatchNumeric(out double elevOfElevation)) { nozzle.Elev = elevOfElevation / 1000f; + var jre = jobject[RevitJsonProp.Elev]; + if (jre != null) + { + if (jre[RevitJsonProp.ElevFacade].MatchNumeric(out double facade)) + { + nozzle.Elev += facade / 1000f; + } + } } else { @@ -2620,6 +2741,11 @@ hydrant.UpdatePropStatus(nameof(hydrant.Flags), ePropStatus.Error, "缂哄皯[鏍囩淇℃伅]"); } + if (hydrant.Flags == null) + { + hydrant.Flags = new List<string>(); + } + #endregion #region Description @@ -2675,7 +2801,7 @@ #region Elev - if (jobject[RevitJsonProp.Elev].MatchNumeric(out double elev)) + if (jobject[RevitJsonProp.ElevInfo].MatchNumeric(out double elev)) { hydrant.Elev = elev; } @@ -2689,6 +2815,14 @@ if (jobject[RevitJsonProp.ElevOfElevation].MatchNumeric(out double elevOfElevation)) { hydrant.Elev = elevOfElevation / 1000f; + var jre = jobject[RevitJsonProp.Elev]; + if (jre != null) + { + if (jre[RevitJsonProp.ElevFacade].MatchNumeric(out double facade)) + { + hydrant.Elev += facade / 1000f; + } + } } else { @@ -2886,6 +3020,11 @@ cooling.UpdatePropStatus(nameof(cooling.Flags), ePropStatus.Error, "缂哄皯[鏍囩淇℃伅]"); } + if (cooling.Flags == null) + { + cooling.Flags = new List<string>(); + } + #endregion #region Description @@ -2941,7 +3080,7 @@ #region Elev - if (jobject[RevitJsonProp.Elev].MatchNumeric(out double elev)) + if (jobject[RevitJsonProp.ElevInfo].MatchNumeric(out double elev)) { cooling.Elev = elev; } @@ -2955,6 +3094,14 @@ if (jobject[RevitJsonProp.ElevOfElevation].MatchNumeric(out double elevOfElevation)) { cooling.Elev = elevOfElevation / 1000f; + var jre = jobject[RevitJsonProp.Elev]; + if (jre != null) + { + if (jre[RevitJsonProp.ElevFacade].MatchNumeric(out double facade)) + { + cooling.Elev += facade / 1000f; + } + } } else { @@ -3169,6 +3316,11 @@ meter.UpdatePropStatus(nameof(meter.Flags), ePropStatus.Error, "缂哄皯[鏍囩淇℃伅]"); } + if (meter.Flags == null) + { + meter.Flags = new List<string>(); + } + #endregion #region Description @@ -3224,7 +3376,7 @@ #region Elev - if (jobject[RevitJsonProp.Elev].MatchNumeric(out double elev)) + if (jobject[RevitJsonProp.ElevInfo].MatchNumeric(out double elev)) { meter.Elev = elev; } @@ -3238,6 +3390,14 @@ if (jobject[RevitJsonProp.ElevOfElevation].MatchNumeric(out double elevOfElevation)) { meter.Elev = elevOfElevation / 1000f; + var jre = jobject[RevitJsonProp.Elev]; + if (jre != null) + { + if (jre[RevitJsonProp.ElevFacade].MatchNumeric(out double facade)) + { + meter.Elev += facade / 1000f; + } + } } else { @@ -3380,6 +3540,11 @@ flowmeter.UpdatePropStatus(nameof(flowmeter.Flags), ePropStatus.Error, "缂哄皯[鏍囩淇℃伅]"); } + if (flowmeter.Flags == null) + { + flowmeter.Flags = new List<string>(); + } + #endregion #region Description @@ -3435,7 +3600,7 @@ #region Elev - if (jobject[RevitJsonProp.Elev].MatchNumeric(out double elev)) + if (jobject[RevitJsonProp.ElevInfo].MatchNumeric(out double elev)) { flowmeter.Elev = elev; } @@ -3449,6 +3614,14 @@ if (jobject[RevitJsonProp.ElevOfElevation].MatchNumeric(out double elevOfElevation)) { flowmeter.Elev = elevOfElevation / 1000f; + var jre = jobject[RevitJsonProp.Elev]; + if (jre != null) + { + if (jre[RevitJsonProp.ElevFacade].MatchNumeric(out double facade)) + { + flowmeter.Elev += facade / 1000f; + } + } } else { @@ -3604,6 +3777,11 @@ pressmeter.UpdatePropStatus(nameof(pressmeter.Flags), ePropStatus.Error, "缂哄皯[鏍囩淇℃伅]"); } + if (pressmeter.Flags == null) + { + pressmeter.Flags = new List<string>(); + } + #endregion #region Description @@ -3659,7 +3837,7 @@ #region Elev - if (jobject[RevitJsonProp.Elev].MatchNumeric(out double elev)) + if (jobject[RevitJsonProp.ElevInfo].MatchNumeric(out double elev)) { pressmeter.Elev = elev; } @@ -3673,6 +3851,14 @@ if (jobject[RevitJsonProp.ElevOfElevation].MatchNumeric(out double elevOfElevation)) { pressmeter.Elev = elevOfElevation / 1000f; + var jre = jobject[RevitJsonProp.Elev]; + if (jre != null) + { + if (jre[RevitJsonProp.ElevFacade].MatchNumeric(out double facade)) + { + pressmeter.Elev += facade / 1000f; + } + } } else { @@ -3784,7 +3970,10 @@ if (jobject.ParseString(RevitJsonProp.Name, out string name)) { pipe.Name = name; - pipe.UpdatePropStatus(nameof(pipe.Name), ePropStatus.Lack, "[鏋勪欢鍚嶇О]缂虹渷"); + if (string.IsNullOrEmpty(pipe.Name)) + { + pipe.UpdatePropStatus(nameof(pipe.Name), ePropStatus.Lack, "[鏋勪欢鍚嶇О]缂虹渷"); + } } else { @@ -3814,7 +4003,7 @@ if (jobject.ParseString(RevitJsonProp.Flags, out string flags)) { - pipe.Flags = Yw.Untity.FlagsHelper.ToList(flags); + pipe.Flags = RevitFlagsHelper.ToList(flags); if (!string.IsNullOrEmpty(flags)) { if (pipe.Flags == null || pipe.Flags.Count < 1) @@ -3826,6 +4015,11 @@ else { pipe.UpdatePropStatus(nameof(pipe.Flags), ePropStatus.Error, "缂哄皯[鏍囩淇℃伅]"); + } + + if (pipe.Flags == null) + { + pipe.Flags = new List<string>(); } #endregion @@ -3949,7 +4143,8 @@ #region Diameter - if (jobject[RevitJsonProp.Diameter].MatchNumeric(out double diameter)) + //鐩村緞淇℃伅 + if (jobject[RevitJsonProp.DiameterInfo].MatchNumeric(out double diameter)) { pipe.Diameter = diameter; } @@ -3958,11 +4153,26 @@ pipe.UpdatePropStatus(nameof(pipe.Diameter), ePropStatus.Abnormal, "[鐩村緞淇℃伅]缂哄皯鎴栬�呮牸寮忛敊璇�"); } + //鐩村緞 if (pipe.Diameter < 1) { - if (jobject[RevitJsonProp.InternalDiameter].MatchNumeric(out double internalDiameter)) + if (jobject[RevitJsonProp.Diameter].MatchNumeric(out diameter)) { - pipe.Diameter = internalDiameter; + pipe.Diameter = diameter; + pipe.UpdatePropStatus(nameof(pipe.Diameter), ePropStatus.Lack, "[鐩村緞淇℃伅]閫氳繃[鐩村緞]杩涜淇]"); + } + else + { + pipe.UpdatePropStatus(nameof(pipe.Diameter), ePropStatus.Abnormal, "[鐩村緞淇℃伅]鏃犳硶閫氳繃[鐩村緞]杩涜淇]"); + } + } + + //鍐呭緞 + if (pipe.Diameter < 1) + { + if (jobject[RevitJsonProp.InternalDiameter].MatchNumeric(out diameter)) + { + pipe.Diameter = diameter; pipe.UpdatePropStatus(nameof(pipe.Diameter), ePropStatus.Lack, "[鐩村緞淇℃伅]閫氳繃[鍐呭緞]杩涜淇]"); } else @@ -3971,6 +4181,7 @@ } } + //鍏О鐩村緞 if (pipe.Diameter < 1) { if (jobject[RevitJsonProp.DN].MatchNumeric(out double dn)) @@ -3986,8 +4197,7 @@ if (pipe.Diameter < 1) { - pipe.Diameter = 500; - pipe.UpdatePropStatus(nameof(pipe.Diameter), ePropStatus.Lack, "[鐩村緞淇℃伅][鍐呭緞]瑙f瀽閿欒锛屼娇鐢ㄩ粯璁ゅ��(500mm)淇]"); + pipe.UpdatePropStatus(nameof(pipe.Diameter), ePropStatus.Error, "[鐩村緞淇℃伅]瑙f瀽閿欒锛屾棤娉曢�氳繃銆愮洿寰勩�戙�愬唴寰勩�戙�愬叕绉扮洿寰勩�戜慨澶�"); } #endregion @@ -4125,6 +4335,11 @@ translation.UpdatePropStatus(nameof(translation.Flags), ePropStatus.Error, "缂哄皯[鏍囩淇℃伅]"); } + if (translation.Flags == null) + { + translation.Flags = new List<string>(); + } + #endregion #region Description @@ -4229,7 +4444,7 @@ #region Elev - if (jobject[RevitJsonProp.Elev].MatchNumeric(out double elev)) + if (jobject[RevitJsonProp.ElevInfo].MatchNumeric(out double elev)) { translation.Elev = elev; } @@ -4243,6 +4458,14 @@ if (jobject[RevitJsonProp.ElevOfElevation].MatchNumeric(out double elevOfElevation)) { translation.Elev = elevOfElevation / 1000f; + var jre = jobject[RevitJsonProp.Elev]; + if (jre != null) + { + if (jre[RevitJsonProp.ElevFacade].MatchNumeric(out double facade)) + { + translation.Elev += facade / 1000f; + } + } } else { @@ -4289,7 +4512,7 @@ #region Diameter - if (jobject[RevitJsonProp.Diameter].MatchNumeric(out double diameter)) + if (jobject[RevitJsonProp.DiameterInfo].MatchNumeric(out double diameter)) { translation.Diameter = diameter; } @@ -4482,6 +4705,11 @@ pump.UpdatePropStatus(nameof(pump.Flags), ePropStatus.Error, "缂哄皯[鏍囩淇℃伅]"); } + if (pump.Flags == null) + { + pump.Flags = new List<string>(); + } + #endregion #region Description @@ -4586,7 +4814,7 @@ #region Elev - if (jobject[RevitJsonProp.Elev].MatchNumeric(out double elev)) + if (jobject[RevitJsonProp.ElevInfo].MatchNumeric(out double elev)) { pump.Elev = elev; } @@ -4600,6 +4828,14 @@ if (jobject[RevitJsonProp.ElevOfElevation].MatchNumeric(out double elevOfElevation)) { pump.Elev = elevOfElevation / 1000f; + var jre = jobject[RevitJsonProp.Elev]; + if (jre != null) + { + if (jre[RevitJsonProp.ElevFacade].MatchNumeric(out double facade)) + { + pump.Elev += facade / 1000f; + } + } } else { @@ -4880,6 +5116,11 @@ valve.UpdatePropStatus(nameof(valve.Flags), ePropStatus.Error, "缂哄皯[鏍囩淇℃伅]"); } + if (valve.Flags == null) + { + valve.Flags = new List<string>(); + } + #endregion #region Description @@ -4957,7 +5198,7 @@ #region Elev - if (jobject[RevitJsonProp.Elev].MatchNumeric(out double elev)) + if (jobject[RevitJsonProp.ElevInfo].MatchNumeric(out double elev)) { valve.Elev = elev; } @@ -4971,6 +5212,14 @@ if (jobject[RevitJsonProp.ElevOfElevation].MatchNumeric(out double elevOfElevation)) { valve.Elev = elevOfElevation / 1000f; + var jre = jobject[RevitJsonProp.Elev]; + if (jre != null) + { + if (jre[RevitJsonProp.ElevFacade].MatchNumeric(out double facade)) + { + valve.Elev += facade / 1000f; + } + } } else { @@ -5044,7 +5293,7 @@ #region Diameter - if (jobject[RevitJsonProp.Diameter].MatchNumeric(out double diameter)) + if (jobject[RevitJsonProp.DiameterInfo].MatchNumeric(out double diameter)) { valve.Diameter = diameter; } @@ -5055,9 +5304,9 @@ if (valve.Diameter < 1) { - if (jobject[RevitJsonProp.InternalDiameter].MatchNumeric(out double internalDiameter)) + if (jobject[RevitJsonProp.InternalDiameter].MatchNumeric(out diameter)) { - valve.Diameter = internalDiameter; + valve.Diameter = diameter; valve.UpdatePropStatus(nameof(valve.Diameter), ePropStatus.Lack, "[鐩村緞淇℃伅]閫氳繃[鍐呭緞]杩涜淇]"); } else @@ -5068,9 +5317,9 @@ if (valve.Diameter < 1) { - if (jobject[RevitJsonProp.DN].MatchNumeric(out double dn)) + if (jobject[RevitJsonProp.DN].MatchNumeric(out diameter)) { - valve.Diameter = dn; + valve.Diameter = diameter; valve.UpdatePropStatus(nameof(valve.Diameter), ePropStatus.Lack, "[鐩村緞淇℃伅]閫氳繃[鍏О鐩村緞]杩涜淇]"); } else @@ -5081,8 +5330,33 @@ if (valve.Diameter < 1) { - valve.Diameter = 500; - valve.UpdatePropStatus(nameof(valve.Diameter), ePropStatus.Lack, "[鐩村緞淇℃伅][鍐呭緞]瑙f瀽閿欒锛屼娇鐢ㄩ粯璁ゅ��(500mm)淇]"); + if (jobject[RevitJsonProp.MaxSize].MatchNumeric(out diameter)) + { + valve.Diameter = diameter; + valve.UpdatePropStatus(nameof(valve.Diameter), ePropStatus.Lack, "[鐩村緞淇℃伅]閫氳繃[鏈�澶у昂瀵竇杩涜淇]"); + } + else + { + valve.UpdatePropStatus(nameof(valve.Diameter), ePropStatus.Abnormal, "[鐩村緞淇℃伅]鏃犳硶閫氳繃[鏈�澶у昂瀵竇杩涜淇]"); + } + } + + if (valve.Diameter < 1) + { + if (jobject[RevitJsonProp.MinSize].MatchNumeric(out diameter)) + { + valve.Diameter = diameter; + valve.UpdatePropStatus(nameof(valve.Diameter), ePropStatus.Lack, "[鐩村緞淇℃伅]閫氳繃[鏈�灏忓昂瀵竇杩涜淇]"); + } + else + { + valve.UpdatePropStatus(nameof(valve.Diameter), ePropStatus.Abnormal, "[鐩村緞淇℃伅]鏃犳硶閫氳繃[鏈�灏忓昂瀵竇杩涜淇]"); + } + } + + if (valve.Diameter < 1) + { + valve.UpdatePropStatus(nameof(valve.Diameter), ePropStatus.Lack, "[鐩村緞淇℃伅]瑙f瀽閿欒锛屾棤娉曢�氳繃[鍐呭緞][鍏О鐩村緞][鏈�澶у昂瀵竇[鏈�灏忓昂瀵竇淇"); } #endregion @@ -5126,22 +5400,22 @@ valve.ValveType = valveType; if (string.IsNullOrEmpty(valve.ValveType)) { - valve.ValveType = ValveType.TCV; - valve.UpdatePropStatus(nameof(valve.ValveType), ePropStatus.Lack, "[闃�闂ㄧ被鍨媇缂虹渷锛屼娇鐢ㄩ粯璁ゅ��(TCV)杩涜淇"); + valve.ValveType = ValveType.GPV; + valve.UpdatePropStatus(nameof(valve.ValveType), ePropStatus.Lack, "[闃�闂ㄧ被鍨媇缂虹渷锛屼娇鐢ㄩ粯璁ゅ��(GPV)杩涜淇"); } else { if (!ValveType.Contains(valve.ValveType)) { - valve.ValveType = ValveType.TCV; - valve.UpdatePropStatus(nameof(valve.ValveType), ePropStatus.Abnormal, "[闃�闂ㄧ被鍨媇璁剧疆閿欒锛屼娇鐢ㄩ粯璁ゅ��(TCV)杩涜淇"); + valve.ValveType = ValveType.GPV; + valve.UpdatePropStatus(nameof(valve.ValveType), ePropStatus.Abnormal, "[闃�闂ㄧ被鍨媇璁剧疆閿欒锛屼娇鐢ㄩ粯璁ゅ��(GPV)杩涜淇"); } } } else { - valve.ValveType = ValveType.TCV; - valve.UpdatePropStatus(nameof(valve.ValveType), ePropStatus.Abnormal, "[闃�闂ㄧ被鍨媇缂哄皯鎴栨牸寮忛敊璇紝浣跨敤榛樿鍊�(TCV)杩涜淇"); + valve.ValveType = ValveType.GPV; + valve.UpdatePropStatus(nameof(valve.ValveType), ePropStatus.Abnormal, "[闃�闂ㄧ被鍨媇缂哄皯鎴栨牸寮忛敊璇紝浣跨敤榛樿鍊�(GPV)杩涜淇"); } #endregion @@ -5258,6 +5532,11 @@ exchanger.UpdatePropStatus(nameof(exchanger.Flags), ePropStatus.Error, "缂哄皯[鏍囩淇℃伅]"); } + if (exchanger.Flags == null) + { + exchanger.Flags = new List<string>(); + } + #endregion #region Description @@ -5362,7 +5641,7 @@ #region Elev - if (jobject[RevitJsonProp.Elev].MatchNumeric(out double elev)) + if (jobject[RevitJsonProp.ElevInfo].MatchNumeric(out double elev)) { exchanger.Elev = elev; } @@ -5376,6 +5655,19 @@ if (jobject[RevitJsonProp.ElevOfElevation].MatchNumeric(out double elevOfElevation)) { exchanger.Elev = elevOfElevation / 1000f; + var jre = jobject[RevitJsonProp.Elev]; + + if (!jre.HasValues) + { + + } + if (jre != null) + { + if (jre[RevitJsonProp.ElevFacade].MatchNumeric(out double facade)) + { + exchanger.Elev += facade / 1000f; + } + } } else { @@ -5422,7 +5714,7 @@ #region Diameter - if (jobject[RevitJsonProp.Diameter].MatchNumeric(out double diameter)) + if (jobject[RevitJsonProp.DiameterInfo].MatchNumeric(out double diameter)) { exchanger.Diameter = diameter; } @@ -5576,6 +5868,11 @@ compressor.UpdatePropStatus(nameof(compressor.Flags), ePropStatus.Error, "缂哄皯[鏍囩淇℃伅]"); } + if (compressor.Flags == null) + { + compressor.Flags = new List<string>(); + } + #endregion #region Description @@ -5680,7 +5977,7 @@ #region Elev - if (jobject[RevitJsonProp.Elev].MatchNumeric(out double elev)) + if (jobject[RevitJsonProp.ElevInfo].MatchNumeric(out double elev)) { compressor.Elev = elev; } @@ -5694,6 +5991,14 @@ if (jobject[RevitJsonProp.ElevOfElevation].MatchNumeric(out double elevOfElevation)) { compressor.Elev = elevOfElevation / 1000f; + var jre = jobject[RevitJsonProp.Elev]; + if (jre != null) + { + if (jre[RevitJsonProp.ElevFacade].MatchNumeric(out double facade)) + { + compressor.Elev += facade / 1000f; + } + } } else { @@ -5740,7 +6045,7 @@ #region Diameter - if (jobject[RevitJsonProp.Diameter].MatchNumeric(out double diameter)) + if (jobject[RevitJsonProp.DiameterInfo].MatchNumeric(out double diameter)) { compressor.Diameter = diameter; } -- Gitblit v1.9.3