using System; using System.Collections.Generic; using System.Text; using Autodesk.Revit; using Autodesk.Revit.DB; using Autodesk.Revit.UI; using KMBIM.Revit.Tools; namespace KMBIM { /// /// Implements interface IExternalCommand of Revit API. /// [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)] [Autodesk.Revit.Attributes.Regeneration(Autodesk.Revit.Attributes.RegenerationOption.Manual)] [Autodesk.Revit.Attributes.Journaling(Autodesk.Revit.Attributes.JournalingMode.NoCommandData)] public class AvoidObstructionCommand : IExternalCommand { #region IExternalCommand Members private UIApplication uiapp = null; private UIDocument uidoc = null; private Autodesk.Revit.ApplicationServices.Application app = null; private Document doc = null; private Autodesk.Revit.Creation.Document createDoc = null; public Autodesk.Revit.UI.Result Execute(ExternalCommandData commandData, ref string message, Autodesk.Revit.DB.ElementSet elements) { try { if (!WorkMain.GetInstance().IsValid) return Autodesk.Revit.UI.Result.Succeeded; // Verify active document if (null == commandData.Application.ActiveUIDocument.Document) { message = KMBIM.Revit.Tools.Properties.Resources.ActiveViewIsNull; // "ÇöÀç Ȱ¼ºÈ­µÈ ºä°¡ ¾ø½À´Ï´Ù."; //"Active view is null."; return Autodesk.Revit.UI.Result.Failed; } uiapp = commandData.Application; uidoc = uiapp.ActiveUIDocument; app = uiapp.Application; doc = uidoc.Document; createDoc = uidoc.Document.Create; //------------------------------------------------------------------------------------------------ App.thisApp.OpenFormAvoidObstruction(uiapp); // ModifiedNozzle Æû °´Ã¼Áغñ var wfAvoidObstruction = App.thisApp.m_wfAvoidObstruction; wfAvoidObstruction.uidoc = uidoc; App.thisApp.ShowFormAvoidObstruction(uiapp); } catch (Exception ex) { message = ex.ToString(); return Autodesk.Revit.UI.Result.Failed; } return Autodesk.Revit.UI.Result.Succeeded; } #endregion } }