UIDocument Class

An object that represents an Autodesk Revit project opened in the Revit user interface.
Inheritance Hierarchy
SystemObject
  Autodesk.Revit.UIUIDocument

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

The UIDocument type exposes the following members.

Constructors
 NameDescription
Public methodUIDocument Use a database level Document to construct a UI-level Document.
Top
Properties
 NameDescription
Public propertyActiveGraphicalView The currently active graphical view of the currently active document.
Public propertyActiveView The currently active view of the currently active document.
Public propertyApplication Retrieves an object that represents the current Application.
Public propertyDocumentReturns the database level document represented by this UI-level document.
Public propertyIsValidObject Specifies whether the .NET object represents a valid Revit entity.
Public propertySelectionRetrieve the currently selected Elements in Autodesk Revit.
Top
Methods
 NameDescription
Public methodCanPlaceElementType Verifies that the user can be prompted to place the input element type interactively.
Public methodDisposeReleases all resources used by the UIDocument
Public methodEqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
Public methodGetHashCodeServes as the default hash function.
(Inherited from Object)
Public methodGetOpenUIViewsGet a list of all open view windows in the Revit user interface.
Public methodGetPlacementTypes Get a collection of valid placement types for input family symbol.
Public methodStatic memberGetRevitUIFamilyLoadOptionsReturn the option object that allows you to use Revit's dialog boxes to let the user respond to questions that arise during loading of families.
Public methodGetSketchGalleryOptions Gets the valid sketch gallery options of a family symbol.
Public methodGetTypeGets the Type of the current instance.
(Inherited from Object)
Public methodPostRequestForElementTypePlacement Places a request on Revit's command queue for the user to place instances of the specified ElementType. This does not execute immediately, but instead when control returns to Revit from the current API context.
Public methodPromptForFamilyInstancePlacement(FamilySymbol)Prompts the user to place instances of the specified FamilySymbol.
Public methodPromptForFamilyInstancePlacement(FamilySymbol, PromptForFamilyInstancePlacementOptions)Prompts the user to place instances of the specified FamilySymbol.
Public methodPromptToMatchElementType Prompts the user to select elements to change them to the input type.
Public methodPromptToPlaceElementTypeOnLegendView Prompts the user to place an element type onto a legend view.
Public methodPromptToPlaceViewOnSheet Prompts the user to place a specified view onto a sheet.
Public methodRefreshActiveViewRefresh the display of the active view in the active document.
Public methodRequestViewChange Requests an asynchronous change of the active view in the currently active document.
Public methodSaveAndCloseClose the document, prompting the user for saving it when necessary.
Public methodSaveAs Saves the document to a file name obtained from the Revit user without prompting the user to overwrite file if it exists.
Public methodSaveAs(UISaveAsOptions) Saves the document to a file name obtained from the Revit user optionally prompting the user to overwrite file if it exists.
Public methodShowElements(Element)Shows the element by zoom to fit.
Public methodShowElements(ElementId)Shows the element by zoom to fit.
Public methodShowElements(ElementSet)Shows the elements by zoom to fit.
Public methodShowElements(ICollectionElementId)Shows the elements by zoom to fit.
Public methodToStringReturns a string that represents the current object.
(Inherited from Object)
Public methodUpdateAllOpenViews Update all open views in this document after elements have been changed, deleted, selected or de-selected. Graphics in the views are fully redrawn regardless of which elements have changed.
Top
Remarks

This class represents a document opened in the user interface and therefore offers interfaces to work with settings and operations in the UI (for example, the active selection). Revit can have multiple projects open and multiple views to those projects. The active or top most view will be the active project and hence the active document which is available from the UIApplication object.

Obtain the database level Document (which contains interfaces not related to the UI) via the Document property. If you have a database level Document and need to access it from the UI, you can construct a new UIDocument from that object (the document must be open and visible in the UI to allow the methods to work successfully).
See Also