duheng
2025-01-17 4c32366350018806978182f05352ef75698f995f
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();
                //解析结构json
@@ -260,12 +260,12 @@
                }
                return model;
            }
            catch (Exception ex)
            {
                msg = ex.Message;
                return default;
            }
            //}
            //catch (Exception ex)
            //{
            //    msg = ex.Message;
            //    return default;
            //}
        }
@@ -446,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
                {
@@ -649,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
                {
@@ -927,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
                {
@@ -1191,7 +1224,7 @@
            #region Elev
            if (jobject[RevitJsonProp.Elev].MatchNumeric(out double elev))
            if (jobject[RevitJsonProp.ElevInfo].MatchNumeric(out double elev))
            {
                junction.Elev = elev;
            }
@@ -1205,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)
@@ -1407,7 +1452,7 @@
            #region Elev
            if (jobject[RevitJsonProp.Elev].MatchNumeric(out double elev))
            if (jobject[RevitJsonProp.ElevInfo].MatchNumeric(out double elev))
            {
                blunthead.Elev = elev;
            }
@@ -1421,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
                {
@@ -1661,7 +1717,7 @@
            #region Elev
            if (jobject[RevitJsonProp.Elev].MatchNumeric(out double elev))
            if (jobject[RevitJsonProp.ElevInfo].MatchNumeric(out double elev))
            {
                elbow.Elev = elev;
            }
@@ -1675,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
                {
@@ -1944,7 +2011,7 @@
            #region Elev
            if (jobject[RevitJsonProp.Elev].MatchNumeric(out double elev))
            if (jobject[RevitJsonProp.ElevInfo].MatchNumeric(out double elev))
            {
                threelink.Elev = elev;
            }
@@ -1958,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
                {
@@ -2223,7 +2301,7 @@
            #region Elev
            if (jobject[RevitJsonProp.Elev].MatchNumeric(out double elev))
            if (jobject[RevitJsonProp.ElevInfo].MatchNumeric(out double elev))
            {
                fourlink.Elev = elev;
            }
@@ -2237,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
                {
@@ -2476,7 +2565,7 @@
            #region Elev
            if (jobject[RevitJsonProp.Elev].MatchNumeric(out double elev))
            if (jobject[RevitJsonProp.ElevInfo].MatchNumeric(out double elev))
            {
                nozzle.Elev = elev;
            }
@@ -2490,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
                {
@@ -2752,7 +2852,7 @@
            #region Elev
            if (jobject[RevitJsonProp.Elev].MatchNumeric(out double elev))
            if (jobject[RevitJsonProp.ElevInfo].MatchNumeric(out double elev))
            {
                hydrant.Elev = elev;
            }
@@ -2766,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
                {
@@ -3023,7 +3134,7 @@
            #region Elev
            if (jobject[RevitJsonProp.Elev].MatchNumeric(out double elev))
            if (jobject[RevitJsonProp.ElevInfo].MatchNumeric(out double elev))
            {
                cooling.Elev = elev;
            }
@@ -3037,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
                {
@@ -3311,7 +3433,7 @@
            #region Elev
            if (jobject[RevitJsonProp.Elev].MatchNumeric(out double elev))
            if (jobject[RevitJsonProp.ElevInfo].MatchNumeric(out double elev))
            {
                meter.Elev = elev;
            }
@@ -3325,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
                {
@@ -3527,7 +3660,7 @@
            #region Elev
            if (jobject[RevitJsonProp.Elev].MatchNumeric(out double elev))
            if (jobject[RevitJsonProp.ElevInfo].MatchNumeric(out double elev))
            {
                flowmeter.Elev = elev;
            }
@@ -3541,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
                {
@@ -3756,7 +3897,7 @@
            #region Elev
            if (jobject[RevitJsonProp.Elev].MatchNumeric(out double elev))
            if (jobject[RevitJsonProp.ElevInfo].MatchNumeric(out double elev))
            {
                pressmeter.Elev = elev;
            }
@@ -3770,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
                {
@@ -4355,7 +4507,7 @@
            #region Elev
            if (jobject[RevitJsonProp.Elev].MatchNumeric(out double elev))
            if (jobject[RevitJsonProp.ElevInfo].MatchNumeric(out double elev))
            {
                translation.Elev = elev;
            }
@@ -4369,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
                {
@@ -4717,7 +4880,7 @@
            #region Elev
            if (jobject[RevitJsonProp.Elev].MatchNumeric(out double elev))
            if (jobject[RevitJsonProp.ElevInfo].MatchNumeric(out double elev))
            {
                pump.Elev = elev;
            }
@@ -4731,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
                {
@@ -5093,7 +5267,7 @@
            #region Elev
            if (jobject[RevitJsonProp.Elev].MatchNumeric(out double elev))
            if (jobject[RevitJsonProp.ElevInfo].MatchNumeric(out double elev))
            {
                valve.Elev = elev;
            }
@@ -5107,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
                {
@@ -5528,7 +5713,7 @@
            #region Elev
            if (jobject[RevitJsonProp.Elev].MatchNumeric(out double elev))
            if (jobject[RevitJsonProp.ElevInfo].MatchNumeric(out double elev))
            {
                exchanger.Elev = elev;
            }
@@ -5542,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
                {
@@ -5851,7 +6052,7 @@
            #region Elev
            if (jobject[RevitJsonProp.Elev].MatchNumeric(out double elev))
            if (jobject[RevitJsonProp.ElevInfo].MatchNumeric(out double elev))
            {
                compressor.Elev = elev;
            }
@@ -5865,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
                {