From e358beb08f5be49703009b64f058ecfbcfeefbd9 Mon Sep 17 00:00:00 2001
From: qin <a@163.com>
Date: 星期六, 28 九月 2024 14:27:52 +0800
Subject: [PATCH] 测试standard2.1

---
 HStation.RevitDev/RevitDataExport/Service/RevitMepCategoryService.cs |  167 +++++++++++++++++++++----------------------------------
 1 files changed, 64 insertions(+), 103 deletions(-)

diff --git a/HStation.RevitDev/RevitDataExport/Service/RevitMepCategoryService.cs b/HStation.RevitDev/RevitDataExport/Service/RevitMepCategoryService.cs
index aced7f7..c15bb69 100644
--- a/HStation.RevitDev/RevitDataExport/Service/RevitMepCategoryService.cs
+++ b/HStation.RevitDev/RevitDataExport/Service/RevitMepCategoryService.cs
@@ -1,58 +1,59 @@
-锘縰sing Autodesk.Revit.DB;
-using HStation.RevitDev.Model.ModelEnum;
-using HStation.RevitDev.RevitDataExport.Common;
-using HStation.RevitDev.RevitDataExport.Entity;
-using HStation.RevitDev.RevitDataExport.Utility;
-using System;
-using System.Collections.Generic;
-using System.Collections.ObjectModel;
-using System.Diagnostics;
-using System.IO;
-using System.Linq;
-
-namespace HStation.RevitDev.RevitDataExport.Service
-{
-    public class RevitMepCategoryService
-    {
-        public static Dictionary<string, List<Element>> GroupElements(IEnumerable<Element> systemElems)
-        {
-            var result = new Dictionary<string, List<Element>>();
-            var parsers = ParserManager.Instance.Parsers;
-            foreach (Element elem in systemElems)
-            {
-                bool pass = false;
-                foreach (var parser in parsers)
-                {
-                    if (parser.IsPass(elem))
-                    {
-                        pass = true;
-                        var key = parser.GetParserName();
-                        if (!result.ContainsKey(key))
-                        {
-                            result.Add(key, new List<Element>());
-                        }
-                        if (!result[key].Any(x => x.Id.IntegerValue == elem.Id.IntegerValue))
-                        {
-                            result[key].Add(elem);
-                        }
-                        break;
-                    }
-                }
-                if (!pass)
-                {
-                    //鍔犲叆鍏跺畠鏋勪欢绫诲瀷
-                    if (!result.ContainsKey("鍏朵粬"))
-                    {
-                        result.Add("鍏朵粬", new List<Element>());
-                    }
-                    result["鍏朵粬"].Add(elem);
-                }
-            }
-            return result;
-        }
-
-        public static void MatchElement(Element elem)
-        {
+锘縰sing Autodesk.Revit.DB;
+using HStation.Model;
+using HStation.RevitDev.Model.ModelEnum;
+using HStation.RevitDev.RevitDataExport.Common;
+using HStation.RevitDev.RevitDataExport.Entity;
+using HStation.RevitDev.RevitDataExport.Utility;
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Diagnostics;
+using System.IO;
+using System.Linq;
+
+namespace HStation.RevitDev.RevitDataExport.Service
+{
+    public class RevitMepCategoryService
+    {
+        public static Dictionary<string, List<Element>> GroupElements(IEnumerable<Element> systemElems)
+        {
+            var result = new Dictionary<string, List<Element>>();
+            var parsers = ParserManager.Instance.Parsers;
+            foreach (Element elem in systemElems)
+            {
+                bool pass = false;
+                foreach (var parser in parsers)
+                {
+                    if (parser.IsPass(elem))
+                    {
+                        pass = true;
+                        var key = parser.GetParserName();
+                        if (!result.ContainsKey(key))
+                        {
+                            result.Add(key, new List<Element>());
+                        }
+                        if (!result[key].Any(x => x.Id.IntegerValue == elem.Id.IntegerValue))
+                        {
+                            result[key].Add(elem);
+                        }
+                        break;
+                    }
+                }
+                if (!pass)
+                {
+                    //鍔犲叆鍏跺畠鏋勪欢绫诲瀷
+                    if (!result.ContainsKey("鍏朵粬"))
+                    {
+                        result.Add("鍏朵粬", new List<Element>());
+                    }
+                    result["鍏朵粬"].Add(elem);
+                }
+            }
+            return result;
+        }
+
+        public static void AddToCache(Element elem)
+        {
             var parsers = ParserManager.Instance.Parsers;
             bool pass = false;
             var id = elem.Id.IntegerValue.ToString();
@@ -62,58 +63,18 @@
                 {
                     var revitType = parser.GetRevitType();
                     pass = true;
-                    
+
                     //鎶婃柊澧炴瀯浠跺姞鍏ュ埌缂撳瓨涓�
-                    if (!GlobalResource.RevitModels.ContainsKey(revitType))
-                    {
-                        GlobalResource.RevitModels.Add(revitType, new ObservableCollection<ElementModel>());
-                        GlobalResource.RevitModels[revitType].Add(new ElementModel
-                        {
-                            Name = elem.Name,
-                            Id = id,
-                            LinkIds = /*string.Join(",", linkedIds)*/string.Empty
-                        });
-                        GlobalResource.ElementIds.Add(id);
-                    }
-                    else if (!GlobalResource.RevitModels[revitType].Any(x => x.Id == id))
-                    {
-                        GlobalResource.RevitModels[revitType].Add(new ElementModel
-                        {
-                            Name = elem.Name,
-                            Id = id,
-                            LinkIds = /* string.Join(",", linkedIds)*/string.Empty
-                        });
-                        GlobalResource.ElementIds.Add(id);
-                    }
+                    GlobalResource.RevitModels.Add(elem, revitType);
                     break;
                 }
             }
             if (!pass)
             {
-                //鎶婃柊澧炴瀯浠跺姞鍏ュ埌缂撳瓨涓�
-                if (!GlobalResource.RevitModels.ContainsKey(RevitType.RFT_Others))
-                {
-                    GlobalResource.RevitModels.Add(RevitType.RFT_Others, new ObservableCollection<ElementModel>());
-                    GlobalResource.RevitModels[RevitType.RFT_Others].Add(new ElementModel
-                    {
-                        Name = elem.Name,
-                        Id = id,
-                        LinkIds = /*string.Join(",", linkedIds)*/string.Empty
-                    });
-                    GlobalResource.ElementIds.Add(id);
-                }
-                else if (!GlobalResource.RevitModels[RevitType.RFT_Others].Any(x => x.Id == id))
-                {
-                    GlobalResource.RevitModels[RevitType.RFT_Others].Add(new ElementModel
-                    {
-                        Name = elem.Name,
-                        Id = id,
-                        LinkIds = /* string.Join(",", linkedIds)*/string.Empty
-                    });
-                    GlobalResource.ElementIds.Add(id);
-                }
+                //鎶婃柊澧炴瀯浠跺姞鍏ュ埌缂撳瓨[鍏朵粬]涓�
+                GlobalResource.RevitModels.Add(elem, RevitType.RFT_Others);
             }
-            return;
-        }
-    }
-}
+            return;
+        }
+    }
+}

--
Gitblit v1.9.3