From 43bd8ee779a4cca7483bdf73c176b9fb8ebed5e2 Mon Sep 17 00:00:00 2001
From: qin <a@163.com>
Date: 星期二, 24 九月 2024 17:24:28 +0800
Subject: [PATCH] 水力计算

---
 HStation.RevitDev/RevitDataExport/Common/GlobalResource.cs |   83 ++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 80 insertions(+), 3 deletions(-)

diff --git a/HStation.RevitDev/RevitDataExport/Common/GlobalResource.cs b/HStation.RevitDev/RevitDataExport/Common/GlobalResource.cs
index e6d7b55..93813ad 100644
--- a/HStation.RevitDev/RevitDataExport/Common/GlobalResource.cs
+++ b/HStation.RevitDev/RevitDataExport/Common/GlobalResource.cs
@@ -2,6 +2,7 @@
 using Autodesk.Revit.UI;
 using DevExpress.Data.Extensions;
 using DevExpress.XtraPrinting.Native;
+using Glodon.Revit.Utility;
 using HStation.RevitDev.Model.ModelEnum;
 using HStation.RevitDev.RevitDataExport.Entity;
 using HStation.RevitDev.RevitDataExport.Entity.ElementModels;
@@ -32,7 +33,7 @@
 
         public static string LastFilePath = string.Empty;
 
-        public static List<Tuple<string, Dictionary<RevitType, List<string>>>> RevitModels = 
+        public static List<Tuple<string, Dictionary<RevitType, List<string>>>> RevitModels =
             new List<Tuple<string, Dictionary<RevitType, List<string>>>>();
 
         public static RevitType PlacingType = RevitType.RFT_Unknown;
@@ -46,6 +47,8 @@
         public static string CurrentRevitVersion = string.Empty;
 
         public static bool HideMode = false;
+
+        public static bool IsOtherHidden = false;
 
         public static Dictionary<RevitType, string> DockablePanelDict => new Dictionary<RevitType, string>
         {
@@ -103,11 +106,29 @@
             }
         }
 
+        public static string ParamsFilePath
+        {
+            get
+            {
+                string result = Path.Combine(DataDirectory, "Config", "familyparams.json");
+                return result;
+            }
+        }
+
         public static string ConfigFilePath
         {
             get
             {
                 string result = Path.Combine(DataDirectory, "Config", "config.json");
+                return result;
+            }
+        }
+
+        public static string SettingFilePath
+        {
+            get
+            {
+                string result = Path.Combine(DataDirectory, "Config", "setting.json");
                 return result;
             }
         }
@@ -131,6 +152,34 @@
         }
 
         private static ConfigModel configModel = null;
+        private static ConfigSettingModel configSettingModel = null;
+
+        public static ConfigSettingModel ConfigSettingModel
+        {
+            get
+            {
+                if (configSettingModel != null)
+                {
+                    return configSettingModel;
+                }
+                if (!File.Exists(ConfigFilePath))
+                {
+                    return new ConfigSettingModel() { SystemType= ConfigHelper.SystemType.All };
+                }
+                var strConfig = File.ReadAllText(SettingFilePath);
+                if (string.IsNullOrEmpty(strConfig))
+                {
+                    return new  ConfigSettingModel() { SystemType = ConfigHelper.SystemType.All };
+                }
+                var ret = Newtonsoft.Json.JsonConvert.DeserializeObject<ConfigSettingModel>(strConfig);
+                if (ret == null)
+                {
+                    return new ConfigSettingModel() { SystemType = ConfigHelper.SystemType.All };
+                }
+                configSettingModel = ret;
+                return configSettingModel;
+            }
+        }
         public static ConfigModel ConfigModel
         {
             get
@@ -179,6 +228,12 @@
             {
                 return;
             }
+
+            //var ps = elem.GetParameterByProName("鏄惁鑷畾涔�");
+            //if ((type != RevitType.RFT_Others && type != RevitType.RFT_Pipe) && (ps == null || !ps.AsString().Equals("鏄�")))
+            //{
+            //    return;
+            //}
 
             var id = elem.Id.IntegerValue.ToString();
             if (!tuples.Contains(id))
@@ -234,8 +289,30 @@
 
             foreach (var pair in dict)
             {
-                var subList = pair.Value;
-                ret.AddRange(subList);
+                if (pair.Key != RevitType.RFT_Others)
+                {
+                    var subList = pair.Value;
+                    ret.AddRange(subList);
+                }
+            }
+
+            return ret;
+        }
+
+        public static List<string> GetOtherIds(this List<Tuple<string, Dictionary<RevitType, List<string>>>> tuples)
+        {
+            var ret = new List<string>();
+
+            var dict = tuples.Find(x => x.Item1 == CurrentDocument.Title)?.Item2;
+            if (dict == null) { return ret; }
+
+            foreach (var pair in dict)
+            {
+                if (pair.Key == RevitType.RFT_Others)
+                {
+                    var subList = pair.Value;
+                    ret.AddRange(subList);
+                }
             }
 
             return ret;

--
Gitblit v1.9.3