From 33c800c1bd24faa163bb8dac5fcdd307077478d2 Mon Sep 17 00:00:00 2001
From: zhangyk-c <zhangyk-c@glodon.com>
Date: 星期六, 20 七月 2024 16:49:55 +0800
Subject: [PATCH] 增加导出代码

---
 HStation.RevitDev/RevitDataExport/Utility/FamilyInstanceExtense.cs |   81 +++++++++++++++++++++++++++
 HStation.RevitDev/RevitDataExport/Utility/ExportParameter.cs       |   13 ++++
 HStation.RevitDev/RevitDataExport/Utility/PipeExtense.cs           |   34 +++++++++++
 3 files changed, 128 insertions(+), 0 deletions(-)

diff --git a/HStation.RevitDev/RevitDataExport/Utility/ExportParameter.cs b/HStation.RevitDev/RevitDataExport/Utility/ExportParameter.cs
new file mode 100644
index 0000000..c2a4942
--- /dev/null
+++ b/HStation.RevitDev/RevitDataExport/Utility/ExportParameter.cs
@@ -0,0 +1,13 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace HStation.RevitDev.RevitDataExport.Utility
+{
+    public class ExportParameter
+    {
+
+    }
+}
diff --git a/HStation.RevitDev/RevitDataExport/Utility/FamilyInstanceExtense.cs b/HStation.RevitDev/RevitDataExport/Utility/FamilyInstanceExtense.cs
new file mode 100644
index 0000000..1eb9dc5
--- /dev/null
+++ b/HStation.RevitDev/RevitDataExport/Utility/FamilyInstanceExtense.cs
@@ -0,0 +1,81 @@
+锘縰sing Autodesk.Revit.DB;
+using Autodesk.Revit.DB.Plumbing;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace HStation.RevitDev.RevitDataExport.Utility
+{
+    public static class FamilyInstanceExtense
+    {
+        public static bool IsWanTou(this FamilyInstance fi)
+        {
+            if (fi == null) return false;
+
+            MEPModel mEPModel = fi.MEPModel;
+            var connectors = mEPModel.ConnectorManager.Connectors;
+            if (connectors == null) return false;
+
+            if (connectors.Size != 2)
+            {
+                return false;
+            }
+            return true;
+        }
+
+        public static bool IsSanTong(this FamilyInstance fi)
+        {
+            if (fi == null) return false;
+
+            MEPModel mEPModel = fi.MEPModel;
+            var connectors = mEPModel.ConnectorManager.Connectors;
+            if (connectors == null) return false;
+
+            if (connectors.Size != 3)
+            {
+                return false;
+            }
+            return true;
+        }
+
+        public static bool IsSiTong(this FamilyInstance fi)
+        {
+            if (fi == null) return false;
+
+            MEPModel mEPModel = fi.MEPModel;
+            var connectors = mEPModel.ConnectorManager.Connectors;
+
+            if (connectors == null) return false;
+            if (connectors.Size != 4) return false;
+            return true;
+        }
+
+        public static bool ConnectWithPumpSystem(this FamilyInstance fi)
+        {
+            if (fi == null) return false;
+
+            MEPModel mEPModel = fi.MEPModel;
+            var connectors = mEPModel.ConnectorManager.Connectors;
+            if (connectors == null) return false;
+
+            foreach (Connector connector in connectors)
+            {
+                var allRefs = connector.AllRefs;
+                foreach (Connector connectedElement in allRefs)
+                {
+                    if (connectedElement.Owner is Pipe pipe)
+                    {
+                        if (Common.GlobalResource.ElementIds.Contains(pipe.Id.IntegerValue.ToString()))
+                        {
+                            return true;
+                        }
+                    }
+                }
+            }
+
+            return true;
+        }
+    }
+}
diff --git a/HStation.RevitDev/RevitDataExport/Utility/PipeExtense.cs b/HStation.RevitDev/RevitDataExport/Utility/PipeExtense.cs
new file mode 100644
index 0000000..355e161
--- /dev/null
+++ b/HStation.RevitDev/RevitDataExport/Utility/PipeExtense.cs
@@ -0,0 +1,34 @@
+锘縰sing Autodesk.Revit.DB;
+using Autodesk.Revit.DB.Plumbing;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace HStation.RevitDev.RevitDataExport.Utility
+{
+    public static class PipeExtense
+    {
+        public static bool ConnectWithPumpSystem(this Pipe pipe)
+        {
+            var manager = pipe.ConnectorManager;
+            var connectors = manager.Connectors; 
+            foreach ( Connector connector in connectors )
+            {
+                var allRefs = connector.AllRefs;
+                foreach (Connector reference in allRefs)
+                {
+                    if (reference.Owner is FamilyInstance fi)
+                    {
+                        if (Common.GlobalResource.ElementIds.Contains(fi.Id.IntegerValue.ToString()))
+                        {
+                            return true;
+                        }
+                    }
+                }
+            }
+            return false;
+        }
+    }
+}

--
Gitblit v1.9.3