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