Shuxia Ning
2025-01-08 7b4b2eb7dd57c29a4b3a75de8234ff9afcbe18d4
Service/HStation.Service.Revit.Core/04-service/02-correct/RevitCorrectHelper.cs
@@ -281,6 +281,19 @@
                    }
                }
            }
            if (rhs.Coolings != null && rhs.Coolings.Count > 0)
            {//冷却塔
                var coolingNameList = rhs.Coolings.Where(x => !string.IsNullOrEmpty(x.Name)).Select(x => x.Name).Distinct().ToList();
                foreach (var cooling in rhs.Coolings)
                {
                    if (string.IsNullOrEmpty(cooling.Name))
                    {
                        var coolingName = Yw.Untity.UniqueHelper.CreateFromFirst("冷却塔", coolingNameList);
                        cooling.Name = coolingName;
                        coolingNameList.Add(coolingName);
                    }
                }
            }
            if (rhs.Meters != null && rhs.Meters.Count > 0)
            {//水表
                var meterNameList = rhs.Meters.Where(x => !string.IsNullOrEmpty(x.Name)).Select(x => x.Name).Distinct().ToList();
@@ -465,6 +478,7 @@
                            result = false;
                            continue;
                        }
                        var startJunction = new Model.RevitJunction();
                        startJunction.Id = Yw.Untity.UniqueHelper.CreateFromFirst("junction", allParterList.Select(x => x.Id).ToList());
                        startJunction.Name = UniqueHelper.CreateFromFirst("连接节点", allParterList.Select(x => x.Name).Distinct().ToList());
@@ -473,10 +487,9 @@
                        startJunction.Description = "换热器修正时,自动添加";
                        startJunction.Position = startConnectList.GetCenterPosition();
                        startJunction.Elev = exchanger.Elev;
                        startJunction.Demand = null;
                        startJunction.Demand = 0;
                        startJunction.DemandPattern = null;
                        rhs.Junctions.Add(startJunction);
                        exchanger.StartCode = startJunction.Id;
                        foreach (var startConnect in startConnectList)
                        {
                            var startConnectParter = allParterList.Find(x => x.Id == startConnect.Id);
@@ -490,9 +503,15 @@
                                {
                                    revitLink.EndCode = startJunction.Id;
                                }
                                if (!rhs.Junctions.Exists(t => t.Id == startJunction.Id))
                                {
                                    rhs.Junctions.Add(startJunction);
                                    exchanger.StartCode = startJunction.Id;
                                    allParterList.Add(startJunction);
                                }
                            }
                        }
                        allParterList.Add(startJunction);
                        #endregion
@@ -513,6 +532,7 @@
                            result = false;
                            continue;
                        }
                        var endJunction = new Model.RevitJunction();
                        endJunction.Id = Yw.Untity.UniqueHelper.CreateFromFirst("junction", allParterList.Select(x => x.Id).ToList());
                        endJunction.Name = UniqueHelper.CreateFromFirst("连接节点", allParterList.Select(x => x.Name).Distinct().ToList());
@@ -521,10 +541,9 @@
                        endJunction.Description = "换热器修正时,自动添加";
                        endJunction.Position = endConnectList.GetCenterPosition();
                        endJunction.Elev = exchanger.Elev;
                        endJunction.Demand = null;
                        endJunction.Demand = 0;
                        endJunction.DemandPattern = null;
                        rhs.Junctions.Add(endJunction);
                        exchanger.EndCode = endJunction.Id;
                        foreach (var endConnect in endConnectList)
                        {
                            var endConnectParter = allParterList.Find(x => x.Id == endConnect.Id);
@@ -538,9 +557,15 @@
                                {
                                    revitLink.EndCode = endJunction.Id;
                                }
                                if (!rhs.Junctions.Exists(t => t.Id == endJunction.Id))
                                {
                                    rhs.Junctions.Add(endJunction);
                                    exchanger.EndCode = endJunction.Id;
                                    allParterList.Add(endJunction);
                                }
                            }
                        }
                        allParterList.Add(endJunction);
                        #endregion
                    }
@@ -626,7 +651,7 @@
                        startJunction.Description = "空压机修正时,自动添加";
                        startJunction.Position = startConnectList.GetCenterPosition();
                        startJunction.Elev = compressor.Elev;
                        startJunction.Demand = null;
                        startJunction.Demand = 0;
                        startJunction.DemandPattern = null;
                        rhs.Junctions.Add(startJunction);
                        compressor.StartCode = startJunction.Id;
@@ -674,7 +699,7 @@
                        endJunction.Description = "空压机修正时,自动添加";
                        endJunction.Position = endConnectList.GetCenterPosition();
                        endJunction.Elev = compressor.Elev;
                        endJunction.Demand = null;
                        endJunction.Demand = 0;
                        endJunction.DemandPattern = null;
                        rhs.Junctions.Add(endJunction);
                        compressor.EndCode = endJunction.Id;
@@ -775,7 +800,7 @@
                    junction.Description = "水力修正时,自动添加";
                    junction.Position = link.StartPosition;
                    junction.Elev = link.StartPosition.Z;
                    junction.Demand = null;
                    junction.Demand = 0;
                    junction.DemandPattern = null;
                    rhs.Junctions.Add(junction);
                    link.StartCode = junction.Id;
@@ -802,7 +827,7 @@
                    junction.Description = "水力修正时,自动添加";
                    junction.Position = link.EndPosition;
                    junction.Elev = link.EndPosition.Z;
                    junction.Demand = null;
                    junction.Demand = 0;
                    junction.DemandPattern = null;
                    rhs.Junctions.Add(junction);
                    link.EndCode = junction.Id;