main command class of the ObjectViewer application
Beispiel #1
0
 /// <summary>
 /// Implement this method as an external command for Revit.
 /// </summary>
 /// <param name="commandData">An object that is passed to the external application
 /// which contains data related to the command,
 /// such as the application object and active view.</param>
 /// <param name="message">A message that can be set by the external application
 /// which will be displayed if a failure or cancellation is returned by
 /// the external command.</param>
 /// <param name="elements">A set of elements to which the external application
 /// can add elements that are to be highlighted in case of failure or cancellation.</param>
 /// <returns>Return the status of the external command.
 /// A result of Succeeded means that the API external method functioned as expected.
 /// Cancelled can be used to signify that the user cancelled the external operation
 /// at some point. Failure should be returned if the application is unable to proceed with
 /// the operation.</returns>
 public Autodesk.Revit.UI.Result Execute(ExternalCommandData commandData,
                                         ref string message, Autodesk.Revit.DB.ElementSet elements)
 {
     try
     {
         // initialize member
         m_commandData = commandData;
         // process data from Revit and show dialog
         ObjectViewer viewer = new ObjectViewer();
         using (ObjectViewerForm viewerFrm = new ObjectViewerForm(viewer))
         {
             if (viewerFrm.ShowDialog() == DialogResult.OK)
             {
                 return(Autodesk.Revit.UI.Result.Succeeded);
             }
         }
     }
     catch (ErrorMessageException msgEx)
     {
         // deal with checked exception
         message = msgEx.Message;
         return(Autodesk.Revit.UI.Result.Failed);
     }
     catch
     {
         message = "External Application is aborted for unknown reason.";
         return(Autodesk.Revit.UI.Result.Failed);
     }
     return(Autodesk.Revit.UI.Result.Cancelled);
 }
Beispiel #2
0
        /// <summary>
        /// constructor
        /// </summary>
        /// <param name="viewer"></param>
        public ObjectViewerForm(ObjectViewer viewer)
        {
            InitializeComponent();

            m_viewer        = viewer;
            m_paras         = viewer.Params;
            m_currentSketch = viewer.CurrentSketch3D;

            Application.AddMessageFilter(this);
        }
Beispiel #3
0
        /// <summary>
        /// constructor
        /// </summary>
        /// <param name="viewer"></param>
        public ObjectViewerForm(ObjectViewer viewer)
        {
            InitializeComponent();

            m_viewer = viewer;
            m_paras = viewer.Params;
            m_currentSketch = viewer.CurrentSketch3D;

            Application.AddMessageFilter(this);
        }
Beispiel #4
0
 /// <summary>
 /// Implement this method as an external command for Revit.
 /// </summary>
 /// <param name="commandData">An object that is passed to the external application
 /// which contains data related to the command,
 /// such as the application object and active view.</param>
 /// <param name="message">A message that can be set by the external application
 /// which will be displayed if a failure or cancellation is returned by
 /// the external command.</param>
 /// <param name="elements">A set of elements to which the external application
 /// can add elements that are to be highlighted in case of failure or cancellation.</param>
 /// <returns>Return the status of the external command.
 /// A result of Succeeded means that the API external method functioned as expected.
 /// Cancelled can be used to signify that the user cancelled the external operation
 /// at some point. Failure should be returned if the application is unable to proceed with
 /// the operation.</returns>
 public Autodesk.Revit.UI.Result Execute(ExternalCommandData commandData,
 ref string message, Autodesk.Revit.DB.ElementSet elements)
 {
     try
     {
         // initialize member
         m_commandData = commandData;
         // process data from Revit and show dialog
         ObjectViewer viewer = new ObjectViewer();
         using (ObjectViewerForm viewerFrm = new ObjectViewerForm(viewer))
         {
             if (viewerFrm.ShowDialog() == DialogResult.OK)
             {
                 return Autodesk.Revit.UI.Result.Succeeded;
             }
         }
     }
     catch (ErrorMessageException msgEx)
     {
         // deal with checked exception
         message = msgEx.Message;
         return Autodesk.Revit.UI.Result.Failed;
     }
     catch
     {
         message = "External Application is aborted for unknown reason.";
         return Autodesk.Revit.UI.Result.Failed;
     }
     return Autodesk.Revit.UI.Result.Cancelled;
 }