From 763de811220b4b724f355965c156ce95d62d64e5 Mon Sep 17 00:00:00 2001 From: qin <a@163.com> Date: 星期四, 15 八月 2024 17:04:45 +0800 Subject: [PATCH] 导出功能 --- HStation.RevitDev/RevitDataExport/Utility/DocumentUtil.cs | 77 ++++++++++++-------------------------- 1 files changed, 25 insertions(+), 52 deletions(-) diff --git a/HStation.RevitDev/RevitDataExport/Utility/DocumentUtil.cs b/HStation.RevitDev/RevitDataExport/Utility/DocumentUtil.cs index a96963d..a383f99 100644 --- a/HStation.RevitDev/RevitDataExport/Utility/DocumentUtil.cs +++ b/HStation.RevitDev/RevitDataExport/Utility/DocumentUtil.cs @@ -1,5 +1,4 @@ -锘縰sing Autodesk.Revit.ApplicationServices; -using Autodesk.Revit.DB; +锘縰sing Autodesk.Revit.DB; using Autodesk.Revit.DB.Events; using Autodesk.Revit.DB.Plumbing; using Autodesk.Revit.UI; @@ -13,7 +12,6 @@ using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; -using static DevExpress.Data.Mask.Internal.RegExMaskMath.CloudOfInts; namespace HStation.RevitDev.RevitDataExport.Utility { @@ -30,16 +28,16 @@ private static void App_DocumentChanged(object sender, DocumentChangedEventArgs e) { + //褰撳垱寤轰竴涓柊鏂囨。鏃讹紝鍏堟墽琛宒ocumentChanged浜嬩欢锛屽湪鎵цdocumentCreated浜嬩欢 var doc = e.GetDocument(); + GlobalResource.CurrentDocument = doc; try { var addedIds = e.GetAddedElementIds(); var removeIds = e.GetDeletedElementIds(); - var modifiedIds = e.GetModifiedElementIds(); - AddElements(doc, addedIds); + AddElements(doc, addedIds); RemoveElements(removeIds); - ModifyElements(modifiedIds); AddUnhandledElements(); GlobalResource.InstancePanel.UpdateForm(); @@ -50,55 +48,30 @@ } } - private static void UpdateLinkerInfo(Document doc) - { - if (!doc.IsValidObject) { return; } + //private static void UpdateLinkerInfo(Document doc) + //{ + // if (!doc.IsValidObject) { return; } - foreach (var pair in GlobalResource.RevitModels) - { - foreach (var model in pair.Value) - { - var id = model.Id; - var element = doc.GetElement(new ElementId(int.Parse(id))); - var linkedElems = element.GetConnectElements(); - var linkedIds = linkedElems.Select(x => x.Id.IntegerValue.ToString()); - model.LinkIds = string.Join(",", linkedIds); - } - } - } + // foreach (var pair in GlobalResource.RevitModels) + // { + // foreach (var id in pair.Value) + // { + // if (id == null) { continue; } - private static void ModifyElements(ICollection<ElementId> modifiedIds) - { - foreach (var id in modifiedIds) - { - - } - } + // var element = doc.GetElement(new ElementId(int.Parse(id))); + // var linkedElems = element.GetConnectElements(); + // var linkedIds = linkedElems.Select(x => x.Id.IntegerValue.ToString()); + // model.LinkIds = string.Join(",", linkedIds); + // } + // } + //} private static void RemoveElements(ICollection<ElementId> removeIds) { foreach (var id in removeIds) { - var strId = id.IntegerValue.ToString(); - if (GlobalResource.RevitModels.Contains(strId)) - { - GlobalResource.RevitModels.Remove(id.IntegerValue.ToString()); - foreach (var pair in GlobalResource.RevitModels) - { - var values = pair.Value; - var model = values.Where(x => x.Id == strId)?.ToList(); - if (model == null || model.Count() == 0) - { - continue; - } - else - { - values.Remove(model[0]); - } - } - } + GlobalResource.RevitModels.Remove(id.IntegerValue.ToString()); } - return; } @@ -223,13 +196,13 @@ GlobalResource.CurrentDocument = e.CurrentActiveView.Document; } - public static List<Element> GetModelElements(this Document doc) + public static List<Element> GetModelElements(this Document doc) { if (!doc.IsValidObject) { return new List<Element>(); } - + var collector1 = new FilteredElementCollector(doc). OfCategory(BuiltInCategory.OST_PipeCurves). WhereElementIsNotElementType(); @@ -251,7 +224,7 @@ public static void AddUnhandledElements() { var elements = GlobalResource.CurrentDocument.GetModelElements(); - foreach (var element in elements) + foreach (var element in elements) { var id = element.Id.IntegerValue.ToString(); if (GlobalResource.RevitModels.Contains(id)) @@ -260,7 +233,7 @@ } RevitMepCategoryService.AddToCache(element); } - UpdateLinkerInfo(GlobalResource.CurrentDocument); + //UpdateLinkerInfo(GlobalResource.CurrentDocument); } public static void UpdataDocumentCache(this Document doc) @@ -272,7 +245,7 @@ if (!GlobalResource.CurrentDocument.IsValidObject || doc.GetHashCode() != GlobalResource.CurrentDocument.GetHashCode()) { GlobalResource.CurrentDocument = doc; - GlobalResource.RevitModels = new Dictionary<RevitType, ObservableCollection<ElementModel>>(); + GlobalResource.RevitModels = new Dictionary<RevitType, List<string>>(); } AddUnhandledElements(); } -- Gitblit v1.9.3