From 982b61fae3105d90d46709aaeb8c0b46d5e7ae6b Mon Sep 17 00:00:00 2001
From: zhangyuekai <zhangyuekai@126.com>
Date: 星期一, 05 八月 2024 17:44:14 +0800
Subject: [PATCH] 构件导出结果平铺调整

---
 HStation.RevitDev/RevitDataExport/Utility/CacheUtil.cs |   33 +++++++++++++++++++++++++++++++--
 1 files changed, 31 insertions(+), 2 deletions(-)

diff --git a/HStation.RevitDev/RevitDataExport/Utility/CacheUtil.cs b/HStation.RevitDev/RevitDataExport/Utility/CacheUtil.cs
index 6bcca67..3f06364 100644
--- a/HStation.RevitDev/RevitDataExport/Utility/CacheUtil.cs
+++ b/HStation.RevitDev/RevitDataExport/Utility/CacheUtil.cs
@@ -1,5 +1,6 @@
 锘縰sing Autodesk.Revit.DB;
 using HStation.RevitDev.RevitDataExport.Entity;
+using System;
 using System.IO;
 using System.Linq;
 
@@ -7,7 +8,7 @@
 {
     public class CacheUtil
     {
-        public static void ReadCache(Document doc)
+        public static void InitCache(Document doc)
         {
             var filePath = doc.PathName;
             var cache = File.ReadAllText(Common.GlobalResource.ConfigFilePath);
@@ -20,6 +21,10 @@
             if (record != null)
             {
                 Common.GlobalResource.RevitModels = record.Record;
+                foreach (var pair in record.Record)
+                {
+                    Common.GlobalResource.ElementIds.AddRange(pair.Value);
+                }
             }
         }
 
@@ -65,6 +70,30 @@
 
             var config = Newtonsoft.Json.JsonConvert.SerializeObject(records);
             File.WriteAllText(Common.GlobalResource.ConfigFilePath, config);
-        }
+        }
+
+        public static void HideOrShowModels(Document document)
+        {
+            if (document == null) { return; }
+            var ids = Common.GlobalResource.ElementIds.Select(x => new ElementId(int.Parse(x))).ToList();
+            if (ids.Count == 0)
+            {
+                return;
+            }
+            Common.GlobalResource.HideMode = !Common.GlobalResource.HideMode;
+            using (Transaction trans = new Transaction(document, "hide elements"))
+            {
+                trans.Start();
+                if (Common.GlobalResource.HideMode)
+                {
+                    document.ActiveView.HideElements(ids);
+                }
+                else
+                {
+                    document.ActiveView.UnhideElements(ids);
+                }
+                trans.Commit();
+            }
+        }
     }
 }

--
Gitblit v1.9.3