From 4c32366350018806978182f05352ef75698f995f Mon Sep 17 00:00:00 2001 From: duheng <2784771470@qq.com> Date: 星期五, 17 一月 2025 11:33:19 +0800 Subject: [PATCH] Merge branch 'master' of http://47.103.154.90:83/r/HStation/XHS.V1.0 --- Service/HStation.Service.Revit.Core/04-service/01-json/RevitJsonHelper.cs | 359 +++++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 335 insertions(+), 24 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 5c4cba4..5c9db3e 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; + //} } @@ -372,6 +372,10 @@ { reservoir.UpdatePropStatus(nameof(reservoir.Flags), ePropStatus.Error, "缂哄皯[鏍囩淇℃伅]"); } + if (reservoir.Flags == null) + { + reservoir.Flags = new List<string>(); + } #endregion @@ -442,6 +446,17 @@ if (jobject[RevitJsonProp.ElevOfElevation].MatchNumeric(out double elevOfElevation)) { reservoir.PoolElev = elevOfElevation / 1000f; + var jre = jobject[RevitJsonProp.Elev]; + if (jre != null) + { + if (jre.HasValues) + { + if (jre[RevitJsonProp.ElevFacade].MatchNumeric(out double facade)) + { + reservoir.PoolElev += facade / 1000f; + } + } + } } else { @@ -571,6 +586,11 @@ tank.UpdatePropStatus(nameof(tank.Flags), ePropStatus.Error, "缂哄皯[鏍囩淇℃伅]"); } + if (tank.Flags == null) + { + tank.Flags = new List<string>(); + } + #endregion #region Description @@ -640,6 +660,17 @@ if (jobject[RevitJsonProp.ElevOfElevation].MatchNumeric(out double elevOfElevation)) { tank.PoolElev = elevOfElevation / 1000f; + var jre = jobject[RevitJsonProp.Elev]; + if (jre != null) + { + if (jre.HasValues) + { + if (jre[RevitJsonProp.ElevFacade].MatchNumeric(out double facade)) + { + tank.PoolElev += facade / 1000f; + } + } + } } else { @@ -844,6 +875,11 @@ waterbox.UpdatePropStatus(nameof(waterbox.Flags), ePropStatus.Error, "缂哄皯[鏍囩淇℃伅]"); } + if (waterbox.Flags == null) + { + waterbox.Flags = new List<string>(); + } + #endregion #region Description @@ -913,6 +949,17 @@ if (jobject[RevitJsonProp.ElevOfElevation].MatchNumeric(out double elevOfElevation)) { waterbox.PoolElev = elevOfElevation / 1000f; + var jre = jobject[RevitJsonProp.Elev]; + if (jre != null) + { + if (jre.HasValues) + { + if (jre[RevitJsonProp.ElevFacade].MatchNumeric(out double facade)) + { + waterbox.PoolElev += facade / 1000f; + } + } + } } else { @@ -1117,6 +1164,11 @@ junction.UpdatePropStatus(nameof(junction.Flags), ePropStatus.Error, "缂哄皯[鏍囩淇℃伅]"); } + if (junction.Flags == null) + { + junction.Flags = new List<string>(); + } + #endregion #region Description @@ -1172,7 +1224,7 @@ #region Elev - if (jobject[RevitJsonProp.Elev].MatchNumeric(out double elev)) + if (jobject[RevitJsonProp.ElevInfo].MatchNumeric(out double elev)) { junction.Elev = elev; } @@ -1186,11 +1238,23 @@ if (jobject[RevitJsonProp.ElevOfElevation].MatchNumeric(out double elevOfElevation)) { junction.Elev = elevOfElevation / 1000f; + var jre = jobject[RevitJsonProp.Elev]; + if (jre != null) + { + if (jre.HasValues) + { + 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 +1392,11 @@ blunthead.UpdatePropStatus(nameof(blunthead.Flags), ePropStatus.Error, "缂哄皯[鏍囩淇℃伅]"); } + if (blunthead.Flags == null) + { + blunthead.Flags = new List<string>(); + } + #endregion #region Description @@ -1383,7 +1452,7 @@ #region Elev - if (jobject[RevitJsonProp.Elev].MatchNumeric(out double elev)) + if (jobject[RevitJsonProp.ElevInfo].MatchNumeric(out double elev)) { blunthead.Elev = elev; } @@ -1397,6 +1466,17 @@ if (jobject[RevitJsonProp.ElevOfElevation].MatchNumeric(out double elevOfElevation)) { blunthead.Elev = elevOfElevation / 1000f; + var jre = jobject[RevitJsonProp.Elev]; + if (jre != null) + { + if (jre.HasValues) + { + if (jre[RevitJsonProp.ElevFacade].MatchNumeric(out double facade)) + { + blunthead.Elev += facade / 1000f; + } + } + } } else { @@ -1577,6 +1657,11 @@ elbow.UpdatePropStatus(nameof(elbow.Flags), ePropStatus.Error, "缂哄皯[鏍囩淇℃伅]"); } + if (elbow.Flags == null) + { + elbow.Flags = new List<string>(); + } + #endregion #region Description @@ -1632,7 +1717,7 @@ #region Elev - if (jobject[RevitJsonProp.Elev].MatchNumeric(out double elev)) + if (jobject[RevitJsonProp.ElevInfo].MatchNumeric(out double elev)) { elbow.Elev = elev; } @@ -1646,6 +1731,17 @@ if (jobject[RevitJsonProp.ElevOfElevation].MatchNumeric(out double elevOfElevation)) { elbow.Elev = elevOfElevation / 1000f; + var jre = jobject[RevitJsonProp.Elev]; + if (jre != null) + { + if (jre.HasValues) + { + if (jre[RevitJsonProp.ElevFacade].MatchNumeric(out double facade)) + { + elbow.Elev += facade / 1000f; + } + } + } } else { @@ -1855,6 +1951,11 @@ threelink.UpdatePropStatus(nameof(threelink.Flags), ePropStatus.Error, "缂哄皯[鏍囩淇℃伅]"); } + if (threelink.Flags == null) + { + threelink.Flags = new List<string>(); + } + #endregion #region Description @@ -1910,7 +2011,7 @@ #region Elev - if (jobject[RevitJsonProp.Elev].MatchNumeric(out double elev)) + if (jobject[RevitJsonProp.ElevInfo].MatchNumeric(out double elev)) { threelink.Elev = elev; } @@ -1924,6 +2025,17 @@ if (jobject[RevitJsonProp.ElevOfElevation].MatchNumeric(out double elevOfElevation)) { threelink.Elev = elevOfElevation / 1000f; + var jre = jobject[RevitJsonProp.Elev]; + if (jre != null) + { + if (jre.HasValues) + { + if (jre[RevitJsonProp.ElevFacade].MatchNumeric(out double facade)) + { + threelink.Elev += facade / 1000f; + } + } + } } else { @@ -2129,6 +2241,11 @@ fourlink.UpdatePropStatus(nameof(fourlink.Flags), ePropStatus.Error, "缂哄皯[鏍囩淇℃伅]"); } + if (fourlink.Flags == null) + { + fourlink.Flags = new List<string>(); + } + #endregion #region Description @@ -2184,7 +2301,7 @@ #region Elev - if (jobject[RevitJsonProp.Elev].MatchNumeric(out double elev)) + if (jobject[RevitJsonProp.ElevInfo].MatchNumeric(out double elev)) { fourlink.Elev = elev; } @@ -2198,6 +2315,17 @@ if (jobject[RevitJsonProp.ElevOfElevation].MatchNumeric(out double elevOfElevation)) { fourlink.Elev = elevOfElevation / 1000f; + var jre = jobject[RevitJsonProp.Elev]; + if (jre != null) + { + if (jre.HasValues) + { + if (jre[RevitJsonProp.ElevFacade].MatchNumeric(out double facade)) + { + fourlink.Elev += facade / 1000f; + } + } + } } else { @@ -2377,6 +2505,11 @@ nozzle.UpdatePropStatus(nameof(nozzle.Flags), ePropStatus.Error, "缂哄皯[鏍囩淇℃伅]"); } + if (nozzle.Flags == null) + { + nozzle.Flags = new List<string>(); + } + #endregion #region Description @@ -2432,7 +2565,7 @@ #region Elev - if (jobject[RevitJsonProp.Elev].MatchNumeric(out double elev)) + if (jobject[RevitJsonProp.ElevInfo].MatchNumeric(out double elev)) { nozzle.Elev = elev; } @@ -2446,6 +2579,17 @@ if (jobject[RevitJsonProp.ElevOfElevation].MatchNumeric(out double elevOfElevation)) { nozzle.Elev = elevOfElevation / 1000f; + var jre = jobject[RevitJsonProp.Elev]; + if (jre != null) + { + if (jre.HasValues) + { + if (jre[RevitJsonProp.ElevFacade].MatchNumeric(out double facade)) + { + nozzle.Elev += facade / 1000f; + } + } + } } else { @@ -2648,6 +2792,11 @@ hydrant.UpdatePropStatus(nameof(hydrant.Flags), ePropStatus.Error, "缂哄皯[鏍囩淇℃伅]"); } + if (hydrant.Flags == null) + { + hydrant.Flags = new List<string>(); + } + #endregion #region Description @@ -2703,7 +2852,7 @@ #region Elev - if (jobject[RevitJsonProp.Elev].MatchNumeric(out double elev)) + if (jobject[RevitJsonProp.ElevInfo].MatchNumeric(out double elev)) { hydrant.Elev = elev; } @@ -2717,6 +2866,17 @@ if (jobject[RevitJsonProp.ElevOfElevation].MatchNumeric(out double elevOfElevation)) { hydrant.Elev = elevOfElevation / 1000f; + var jre = jobject[RevitJsonProp.Elev]; + if (jre != null) + { + if (jre.HasValues) + { + if (jre[RevitJsonProp.ElevFacade].MatchNumeric(out double facade)) + { + hydrant.Elev += facade / 1000f; + } + } + } } else { @@ -2914,6 +3074,11 @@ cooling.UpdatePropStatus(nameof(cooling.Flags), ePropStatus.Error, "缂哄皯[鏍囩淇℃伅]"); } + if (cooling.Flags == null) + { + cooling.Flags = new List<string>(); + } + #endregion #region Description @@ -2969,7 +3134,7 @@ #region Elev - if (jobject[RevitJsonProp.Elev].MatchNumeric(out double elev)) + if (jobject[RevitJsonProp.ElevInfo].MatchNumeric(out double elev)) { cooling.Elev = elev; } @@ -2983,6 +3148,17 @@ if (jobject[RevitJsonProp.ElevOfElevation].MatchNumeric(out double elevOfElevation)) { cooling.Elev = elevOfElevation / 1000f; + var jre = jobject[RevitJsonProp.Elev]; + if (jre != null) + { + if (jre.HasValues) + { + if (jre[RevitJsonProp.ElevFacade].MatchNumeric(out double facade)) + { + cooling.Elev += facade / 1000f; + } + } + } } else { @@ -3197,6 +3373,11 @@ meter.UpdatePropStatus(nameof(meter.Flags), ePropStatus.Error, "缂哄皯[鏍囩淇℃伅]"); } + if (meter.Flags == null) + { + meter.Flags = new List<string>(); + } + #endregion #region Description @@ -3252,7 +3433,7 @@ #region Elev - if (jobject[RevitJsonProp.Elev].MatchNumeric(out double elev)) + if (jobject[RevitJsonProp.ElevInfo].MatchNumeric(out double elev)) { meter.Elev = elev; } @@ -3266,6 +3447,17 @@ if (jobject[RevitJsonProp.ElevOfElevation].MatchNumeric(out double elevOfElevation)) { meter.Elev = elevOfElevation / 1000f; + var jre = jobject[RevitJsonProp.Elev]; + if (jre != null) + { + if (jre.HasValues) + { + if (jre[RevitJsonProp.ElevFacade].MatchNumeric(out double facade)) + { + meter.Elev += facade / 1000f; + } + } + } } else { @@ -3408,6 +3600,11 @@ flowmeter.UpdatePropStatus(nameof(flowmeter.Flags), ePropStatus.Error, "缂哄皯[鏍囩淇℃伅]"); } + if (flowmeter.Flags == null) + { + flowmeter.Flags = new List<string>(); + } + #endregion #region Description @@ -3463,7 +3660,7 @@ #region Elev - if (jobject[RevitJsonProp.Elev].MatchNumeric(out double elev)) + if (jobject[RevitJsonProp.ElevInfo].MatchNumeric(out double elev)) { flowmeter.Elev = elev; } @@ -3477,6 +3674,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 { @@ -3632,6 +3837,11 @@ pressmeter.UpdatePropStatus(nameof(pressmeter.Flags), ePropStatus.Error, "缂哄皯[鏍囩淇℃伅]"); } + if (pressmeter.Flags == null) + { + pressmeter.Flags = new List<string>(); + } + #endregion #region Description @@ -3687,7 +3897,7 @@ #region Elev - if (jobject[RevitJsonProp.Elev].MatchNumeric(out double elev)) + if (jobject[RevitJsonProp.ElevInfo].MatchNumeric(out double elev)) { pressmeter.Elev = elev; } @@ -3701,6 +3911,17 @@ if (jobject[RevitJsonProp.ElevOfElevation].MatchNumeric(out double elevOfElevation)) { pressmeter.Elev = elevOfElevation / 1000f; + var jre = jobject[RevitJsonProp.Elev]; + if (jre != null) + { + if (jre.HasValues) + { + if (jre[RevitJsonProp.ElevFacade].MatchNumeric(out double facade)) + { + pressmeter.Elev += facade / 1000f; + } + } + } } else { @@ -3857,6 +4078,11 @@ else { pipe.UpdatePropStatus(nameof(pipe.Flags), ePropStatus.Error, "缂哄皯[鏍囩淇℃伅]"); + } + + if (pipe.Flags == null) + { + pipe.Flags = new List<string>(); } #endregion @@ -4172,6 +4398,11 @@ translation.UpdatePropStatus(nameof(translation.Flags), ePropStatus.Error, "缂哄皯[鏍囩淇℃伅]"); } + if (translation.Flags == null) + { + translation.Flags = new List<string>(); + } + #endregion #region Description @@ -4276,7 +4507,7 @@ #region Elev - if (jobject[RevitJsonProp.Elev].MatchNumeric(out double elev)) + if (jobject[RevitJsonProp.ElevInfo].MatchNumeric(out double elev)) { translation.Elev = elev; } @@ -4290,6 +4521,17 @@ if (jobject[RevitJsonProp.ElevOfElevation].MatchNumeric(out double elevOfElevation)) { translation.Elev = elevOfElevation / 1000f; + var jre = jobject[RevitJsonProp.Elev]; + if (jre != null) + { + if (jre.HasValues) + { + if (jre[RevitJsonProp.ElevFacade].MatchNumeric(out double facade)) + { + translation.Elev += facade / 1000f; + } + } + } } else { @@ -4529,6 +4771,11 @@ pump.UpdatePropStatus(nameof(pump.Flags), ePropStatus.Error, "缂哄皯[鏍囩淇℃伅]"); } + if (pump.Flags == null) + { + pump.Flags = new List<string>(); + } + #endregion #region Description @@ -4633,7 +4880,7 @@ #region Elev - if (jobject[RevitJsonProp.Elev].MatchNumeric(out double elev)) + if (jobject[RevitJsonProp.ElevInfo].MatchNumeric(out double elev)) { pump.Elev = elev; } @@ -4647,6 +4894,17 @@ if (jobject[RevitJsonProp.ElevOfElevation].MatchNumeric(out double elevOfElevation)) { pump.Elev = elevOfElevation / 1000f; + var jre = jobject[RevitJsonProp.Elev]; + if (jre != null) + { + if (jre.HasValues) + { + if (jre[RevitJsonProp.ElevFacade].MatchNumeric(out double facade)) + { + pump.Elev += facade / 1000f; + } + } + } } else { @@ -4927,6 +5185,11 @@ valve.UpdatePropStatus(nameof(valve.Flags), ePropStatus.Error, "缂哄皯[鏍囩淇℃伅]"); } + if (valve.Flags == null) + { + valve.Flags = new List<string>(); + } + #endregion #region Description @@ -5004,7 +5267,7 @@ #region Elev - if (jobject[RevitJsonProp.Elev].MatchNumeric(out double elev)) + if (jobject[RevitJsonProp.ElevInfo].MatchNumeric(out double elev)) { valve.Elev = elev; } @@ -5018,6 +5281,17 @@ if (jobject[RevitJsonProp.ElevOfElevation].MatchNumeric(out double elevOfElevation)) { valve.Elev = elevOfElevation / 1000f; + var jre = jobject[RevitJsonProp.Elev]; + if (jre != null) + { + if (jre.HasValues) + { + if (jre[RevitJsonProp.ElevFacade].MatchNumeric(out double facade)) + { + valve.Elev += facade / 1000f; + } + } + } } else { @@ -5330,6 +5604,11 @@ exchanger.UpdatePropStatus(nameof(exchanger.Flags), ePropStatus.Error, "缂哄皯[鏍囩淇℃伅]"); } + if (exchanger.Flags == null) + { + exchanger.Flags = new List<string>(); + } + #endregion #region Description @@ -5434,7 +5713,7 @@ #region Elev - if (jobject[RevitJsonProp.Elev].MatchNumeric(out double elev)) + if (jobject[RevitJsonProp.ElevInfo].MatchNumeric(out double elev)) { exchanger.Elev = elev; } @@ -5448,6 +5727,22 @@ 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.HasValues) + { + if (jre[RevitJsonProp.ElevFacade].MatchNumeric(out double facade)) + { + exchanger.Elev += facade / 1000f; + } + } + } } else { @@ -5648,6 +5943,11 @@ compressor.UpdatePropStatus(nameof(compressor.Flags), ePropStatus.Error, "缂哄皯[鏍囩淇℃伅]"); } + if (compressor.Flags == null) + { + compressor.Flags = new List<string>(); + } + #endregion #region Description @@ -5752,7 +6052,7 @@ #region Elev - if (jobject[RevitJsonProp.Elev].MatchNumeric(out double elev)) + if (jobject[RevitJsonProp.ElevInfo].MatchNumeric(out double elev)) { compressor.Elev = elev; } @@ -5766,6 +6066,17 @@ if (jobject[RevitJsonProp.ElevOfElevation].MatchNumeric(out double elevOfElevation)) { compressor.Elev = elevOfElevation / 1000f; + var jre = jobject[RevitJsonProp.Elev]; + if (jre != null) + { + if (jre.HasValues) + { + if (jre[RevitJsonProp.ElevFacade].MatchNumeric(out double facade)) + { + compressor.Elev += facade / 1000f; + } + } + } } else { -- Gitblit v1.9.3