UIApplication Class


UIApplication Class

Represents an active session of the Autodesk Revit user interface, providing access to UI customization methods, events, the main window, and the active document.
Inheritance Hierarchy
System Object
Autodesk.Revit.UI UIApplication
Autodesk.Revit.UI.Macros ApplicationEntryPoint

Namespace: Autodesk.Revit.UI
Assembly: RevitAPIUI (in RevitAPIUI.dll) Version: 25.3.0.0 (25.3.0.0)
Syntax
public class UIApplication : IDisposable

The UIApplication type exposes the following members.

Constructors
Name Description
Public method UIApplication Use a database level Application to construct a UI-level Application.
Top
Properties
Name Description
Public property ActiveAddInId Get current active external application or external command id.
Public property ActiveUIDocument Provides access to an object that represents the currently active project.
Public property Application Returns the database level Application represented by this UI level Application.
Public property DrawingAreaExtents Get the rectangle that represents the screen pixel coordinates of drawing area.
Public property IsValidObject Specifies whether the .NET object represents a valid Revit entity.
Public property IsViewerModeActive Determines if Revit session is in Viewer mode.
Public property LoadedApplications Returns an array of successfully loaded external applications.
Public property MainWindowExtents Get the rectangle that represents the screen pixel coordinates of the Revit main window.
Public property MainWindowHandle Get the handle of the Revit main window.
Public property ProductIsRS Identifies if the current Revit product has an RS designation. Most add-ins will not need to use this information.
Top
Methods
Name Description
Public method CanPostCommand Identifies if the given command can be posted, using PostCommand(RevitCommandId) .
Public method CreateAddInCommandBinding Creates a new AddInCommandBinding.
Public method CreateRibbonPanel(String) Create a new RibbonPanel on the Add-Ins tab.
Public method CreateRibbonPanel(String, String) Create a new RibbonPanel on the specified tab.
Public method CreateRibbonPanel(Tab, String) Create a new RibbonPanel on the designated standard Revit tab.
Public method CreateRibbonTab Creates a new tab on the Revit user interface.
Public method Dispose Releases all resources used by the UIApplication
Public method Static member DoDragDrop(ICollection String )
Public method Static member DoDragDrop(Object, IDropHandler) Initiates a drag and drop operation with a custom drop implementation.
Public method Equals Determines whether the specified object is equal to the current object.
(Inherited from Object )
Public method GetDockablePane Gets a DockablePane object by its ID.
Public method GetHashCode Serves as the default hash function.
(Inherited from Object )
Public method GetRibbonPanels Get all the custom Panels on Add-Ins tab of Revit.
Public method GetRibbonPanels(String) Get all the custom Panels on a designated Revit tab.
Public method GetRibbonPanels(Tab) Get all the custom Panels on a designated standard Revit tab.
Public method GetType Gets the Type of the current instance.
(Inherited from Object )
Public method LoadAddIn Loads add-ins from the given manifest file.
Public method LoadPackageContents Loads add-ins from the given packageContents.xml file.
Public method OpenAndActivateDocument(String) Opens and activates a Revit document.
Public method OpenAndActivateDocument(ModelPath, OpenOptions, Boolean) Opens and activates a Revit document, include both local document or cloud document.
Public method OpenAndActivateDocument(ModelPath, OpenOptions, Boolean, IOpenFromCloudCallback) Opens and activates a Revit document, include both local document or cloud document.
Public method PostCommand Posts the command to the Revit message queue to be invoked when control returns from the current API context.
Public method RegisterContextMenu Adds a new context menu creator.
Public method RegisterDockablePane Adds a new dockable pane to the Revit user interface.
Public method RemoveAddInCommandBinding Removes an AddInCommandBinding.
Public method ToString Returns a string that represents the current object.
(Inherited from Object )
Top
Events
Name Description
Public event ApplicationClosing Subscribe to the ApplicationClosing event to be notified when the Revit application is just about to be closed.
Public event DialogBoxShowing Subscribe to the DialogBoxShowing event to be notified when Revit is just about to show a dialog box or a message box.
Public event DisplayingOptionsDialog Subscribe to the options dialog displaying event to be notified when Revit options dialog is displaying.
Public event DockableFrameFocusChanged Subscribe to this event to be notified when a Revit GenericDockableFrame has gained focus or lost focus in the Revit user interface. This event is called only for API-created GenericDockableFrames.
Public event DockableFrameVisibilityChanged Subscribe to this event to be notified when a Revit GenericDockableFrame has been shown or hidden in the Revit user interface. This event is called only for API-created GenericDockableFrames.
Public event ExternalDataManagerChanged Subscribe to ExternalDataManager changed event to be notified.
Public event FabricationPartBrowserChanged Subscribe to MEP Fabrication part browser changed event to be notified when MEP Fabrication part browser is updated.
Public event FormulaEditing Subscribe to the FormulaEditing event to be notified when the edit formula button has been clicked.
Public event Idling Subscribe to the Idling event to be notified when Revit is not in an active tool or transaction.
Public event MacroUpdated MacroUpdated.
Public event SelectionChanged Subscribe to the SelectionChanged event to be notified after the selection was changed.
Public event ThemeChanged Subscribe to the ThemeChanged event to be notified after the theme was changed.
Public event TransferredProjectStandards Subscribe to the TransferredProjectStandards event to be notified after the scope of a Transfer Project Standards operation has been finalized.
Public event TransferringProjectStandards Subscribe to the TransferringProjectStandards event to be notified before the scope of an impending Transfer Project Standards operation has been finalized in the Transfer Project Standards dialog.
Public event ViewActivated Subscribe to the ViewActivated event to be notified immediately after Revit has finished activating a view of a document.
Public event ViewActivating Subscribe to the ViewActivating event to be notified when Revit is just about to activate a view of a document.
Top
Remarks
You can access documents from the database level Application object, obtained from the Application property. If you have an instance of the database level Application object, you can construct a UIApplication instance from it.
See Also