From 8654386c716d8478fb8f9f62ce8cbdfb11a6155e Mon Sep 17 00:00:00 2001 From: lvxing <18271674504@163.com> Date: 星期四, 01 八月 2024 14:14:23 +0800 Subject: [PATCH] fix_nullreference --- HStation.RevitDev/RevitDataExport/Plugin/Command.cs | 242 ++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 222 insertions(+), 20 deletions(-) diff --git a/HStation.RevitDev/RevitDataExport/Plugin/Command.cs b/HStation.RevitDev/RevitDataExport/Plugin/Command.cs index 0435baf..738f383 100644 --- a/HStation.RevitDev/RevitDataExport/Plugin/Command.cs +++ b/HStation.RevitDev/RevitDataExport/Plugin/Command.cs @@ -1,12 +1,13 @@ 锘縰sing Autodesk.Revit.Attributes; using Autodesk.Revit.DB; using Autodesk.Revit.UI; +using HStation.Model; +using HStation.RevitDev.Model.ModelEnum; using HStation.RevitDev.RevitDataExport.Forms; -using Spire.AI.Api; +using HStation.RevitDev.RevitDataExport.Utility; using System; using System.Diagnostics; -using System.Drawing.Drawing2D; -using System.Windows.Controls; +using System.IO; using System.Windows.Forms; namespace HStation.RevitDev.RevitDataExport @@ -22,35 +23,236 @@ //瀹炰緥WPF绐椾綋 var revitHandle = Process.GetCurrentProcess().MainWindowHandle; form.Show(new WindowHandle(revitHandle)); - - //娴嬭瘯浠g爜 - UIApplication uiapp = commandData.Application; - Guid guid = new Guid(Common.GlobalResource.Guid_FamilyPanel); - DockablePaneId paneId = new DockablePaneId(guid); - DockablePane pane = uiapp.GetDockablePane(paneId); - pane.Hide(); - return Result.Succeeded; } } + /// <summary> + /// 瀵煎嚭妯″瀷 + /// </summary> [Transaction(TransactionMode.Manual)] - public class PumpSystemAnalysis : IExternalCommand + public class ExportModels : IExternalCommand { public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) { - TaskDialog.Show("鎻愮ず","娉电郴缁熷垎鏋愬懡浠よ皟鐢ㄦ垚鍔燂紒"); - UIApplication uiapp = commandData.Application; - Wpf_FamilyPanel page = new Wpf_FamilyPanel(); - Guid guid = Guid.Empty; - guid = new Guid(Common.GlobalResource.Guid_FamilyPanel); - DockablePaneId paneId = new DockablePaneId(guid); - DockablePane pane = uiapp.GetDockablePane(paneId); - pane.Show(); + var doc = commandData.Application.ActiveUIDocument.Document; + + CacheUtil.SaveCache(commandData.Application.ActiveUIDocument.Document); + TaskDialog.Show("鎻愮ず", "瀵煎嚭瀹屾垚锛�"); return Result.Succeeded; } } + /// <summary> + /// 姘存车 + /// </summary> + [Transaction(TransactionMode.Manual)] + public class PumpSystem : IExternalCommand + { + RevitType m_type = RevitType.RFT_Pump; + public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) + { + DocumentUtil.RegistDocumentEvent(commandData.Application.Application); + DockablePaneUtils.ShowDockablePanel(commandData, m_type); + return Result.Succeeded; + } + } + + /// <summary> + /// 绠¢亾 + /// </summary> + [Transaction(TransactionMode.Manual)] + public class PipeSystem : IExternalCommand + { + RevitType m_type = RevitType.RFT_Pipe; + public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) + { + Common.GlobalResource.CurrentAddinId = commandData.Application.ActiveAddInId; + DocumentUtil.RegistDocumentEvent(commandData.Application.Application); + DockablePaneUtils.ShowDockablePanel(commandData, m_type); + return Result.Succeeded; + } + } + + /// <summary> + /// 闃�闂� + /// </summary> + [Transaction(TransactionMode.Manual)] + public class ValveSystem : IExternalCommand + { + RevitType m_type = RevitType.RFT_Valve; + public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) + { + DocumentUtil.RegistDocumentEvent(commandData.Application.Application); + DockablePaneUtils.ShowDockablePanel(commandData, m_type); + return Result.Succeeded; + } + } + + /// <summary> + /// 鎹㈢儹姘� + /// </summary> + [Transaction(TransactionMode.Manual)] + public class HeatExchangerSystem : IExternalCommand + { + RevitType m_type = RevitType.RFT_HeatExchanger; + public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) + { + DocumentUtil.RegistDocumentEvent(commandData.Application.Application); + DockablePaneUtils.ShowDockablePanel(commandData, m_type); + return Result.Succeeded; + } + } + + /// <summary> + /// 闂峰ご + /// </summary> + [Transaction(TransactionMode.Manual)] + public class BlockerSystem : IExternalCommand + { + RevitType m_type = RevitType.RFT_Blocker; + public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) + { + DocumentUtil.RegistDocumentEvent(commandData.Application.Application); + DockablePaneUtils.ShowDockablePanel(commandData, m_type); + return Result.Succeeded; + } + } + + /// <summary> + /// 鍠锋穻澶� + /// </summary> + [Transaction(TransactionMode.Manual)] + public class ShowerSystem : IExternalCommand + { + RevitType m_type = RevitType.RFT_Shower; + public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) + { + DocumentUtil.RegistDocumentEvent(commandData.Application.Application); + DockablePaneUtils.ShowDockablePanel(commandData, m_type); + return Result.Succeeded; + } + } + + /// <summary> + /// 涓夐�� + /// </summary> + [Transaction(TransactionMode.Manual)] + public class ThreeJointSystem : IExternalCommand + { + RevitType m_type = RevitType.RFT_ThreeJoint; + public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) + { + DocumentUtil.RegistDocumentEvent(commandData.Application.Application); + DockablePaneUtils.ShowDockablePanel(commandData, m_type); + return Result.Succeeded; + } + } + + /// <summary> + /// 鍥涢�� + /// </summary> + [Transaction(TransactionMode.Manual)] + public class FourJointSystem : IExternalCommand + { + RevitType m_type = RevitType.RFT_FourJoint; + public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) + { + DocumentUtil.RegistDocumentEvent(commandData.Application.Application); + DockablePaneUtils.ShowDockablePanel(commandData, m_type); + return Result.Succeeded; + } + } + + /// <summary> + /// 姘磋〃 + /// </summary> + [Transaction(TransactionMode.Manual)] + public class WaterMeterSystem : IExternalCommand + { + RevitType m_type = RevitType.RFT_WaterMeter; + public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) + { + DocumentUtil.RegistDocumentEvent(commandData.Application.Application); + DockablePaneUtils.ShowDockablePanel(commandData, m_type); + return Result.Succeeded; + } + } + + /// <summary> + /// 姘村簱 + /// </summary> + [Transaction(TransactionMode.Manual)] + public class WaterPoolSystem : IExternalCommand + { + RevitType m_type = RevitType.RFT_WaterPool; + public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) + { + DocumentUtil.RegistDocumentEvent(commandData.Application.Application); + DockablePaneUtils.ShowDockablePanel(commandData, m_type); + return Result.Succeeded; + } + } + + /// <summary> + /// 姘寸 + /// </summary> + [Transaction(TransactionMode.Manual)] + public class WaterBoxSystem : IExternalCommand + { + RevitType m_type = RevitType.RFT_WaterBox; + public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) + { + DocumentUtil.RegistDocumentEvent(commandData.Application.Application); + DockablePaneUtils.ShowDockablePanel(commandData, m_type); + return Result.Succeeded; + } + } + + /// <summary> + /// 寮ご + /// </summary> + [Transaction(TransactionMode.Manual)] + public class ElbowSystem : IExternalCommand + { + RevitType m_type = RevitType.RFT_Elbow; + public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) + { + DocumentUtil.RegistDocumentEvent(commandData.Application.Application); + DockablePaneUtils.ShowDockablePanel(commandData, m_type); + return Result.Succeeded; + } + } + + /// <summary> + /// 寮ご + /// </summary> + [Transaction(TransactionMode.Manual)] + public class FireHydrantSystem : IExternalCommand + { + RevitType m_type = RevitType.RFT_FireHydrant; + public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) + { + DocumentUtil.RegistDocumentEvent(commandData.Application.Application); + DockablePaneUtils.ShowDockablePanel(commandData, m_type); + return Result.Succeeded; + } + } + + /// <summary> + /// 鍙樺緞 + /// </summary> + [Transaction(TransactionMode.Manual)] + public class ReducingSystem : IExternalCommand + { + RevitType m_type = RevitType.RFT_Reducing; + public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) + { + DocumentUtil.RegistDocumentEvent(commandData.Application.Application); + DockablePaneUtils.ShowDockablePanel(commandData, m_type); + return Result.Succeeded; + } + } public class WindowHandle : IWin32Window { -- Gitblit v1.9.3