zhangyuekai
2024-08-08 caa286712423a1a4413113d31f78f515efc400be
HStation.RevitDev/RevitDataExport/Utility/DocumentUtil.cs
@@ -41,7 +41,7 @@
                RemoveElements(removeIds);
                ModifyElements(modifiedIds);
                UpdateLinkerInfo(doc);
                AddUnhandledElements();
                GlobalResource.InstancePanel.UpdateForm();
            }
            catch (Exception ex)
@@ -229,26 +229,7 @@
            {
                return new List<Element>();
            }
            //FilteredElementCollector collector = null;
            //foreach (Category cate in doc.Settings.Categories)
            //{
            //    if (cate.CategoryType != CategoryType.Model)
            //    {
            //        continue;
            //    }
            //    var subCollector = new FilteredElementCollector(doc);
            //    subCollector.OfCategory((BuiltInCategory)(cate.Id.IntegerValue));
            //    subCollector.WhereElementIsNotElementType();
            //    if (collector == null)
            //    {
            //        collector = subCollector;
            //    }
            //    else
            //    {
            //        collector.UnionWith(subCollector);
            //    }
            //}
            //
            var collector1 = new FilteredElementCollector(doc).
                OfCategory(BuiltInCategory.OST_PipeCurves).
                WhereElementIsNotElementType();
@@ -267,7 +248,7 @@
            return elements1;
        }
        public static void AddUnhandledElementsToCache()
        public static void AddUnhandledElements()
        {
            var elements = GlobalResource.CurrentDocument.GetModelElements();
            foreach (var element in elements) 
@@ -277,9 +258,19 @@
                {
                    continue;
                }
                RevitMepCategoryService.MatchElement(element);
                RevitMepCategoryService.AddToCache(element);
            }
            UpdateLinkerInfo(GlobalResource.CurrentDocument);
        }
        public static void UpdataDocumentCache(this Document doc)
        {
            if (doc.GetHashCode() != GlobalResource.CurrentDocument.GetHashCode())
            {
                GlobalResource.CurrentDocument = doc;
                GlobalResource.RevitModels = new Dictionary<RevitType, ObservableCollection<ElementModel>>();
            }
            AddUnhandledElements();
        }
    }
}