Revit 2025 API
Assembly |
Combines multiple elements for tagging, filtering, scheduling and creating isolated assembly views.

Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 25.0.0.0 (25.0.0.0)
Syntax
The AssemblyInstance type exposes the following members.

Name | Description | |
---|---|---|
![]() | AssemblyInstanceId |
The id of the assembly instance to which the element belongs.
(Inherited from Element) |
![]() | AssemblyTypeName | The name for the assembly type. All matching assembly instances share this name. Unique assembly instances are named automatically based on their naming category. |
![]() ![]() | BoundingBox | Retrieves a box that circumscribes all geometry of the element. (Inherited from Element) |
![]() | Category | Retrieves a Category object that represents the category or sub category in which the
element resides. (Inherited from Element) |
![]() ![]() | CreatedPhaseId |
Id of a Phase at which the Element was created.
(Inherited from Element) |
![]() ![]() | DemolishedPhaseId |
Id of a Phase at which the Element was demolished.
(Inherited from Element) |
![]() ![]() | DesignOption | Returns the design option to which the element belongs. (Inherited from Element) |
![]() | Document | Returns the Document in which the Element resides. (Inherited from Element) |
![]() ![]() | Geometry | Retrieves the geometric representation of the element. (Inherited from Element) |
![]() | GroupId |
The id of the group to which an element belongs.
(Inherited from Element) |
![]() ![]() | Id |
A unique identifier for an Element in an Autodesk Revit project.
(Inherited from Element) |
![]() | IsModifiable |
Identifies if the element is modifiable.
(Inherited from Element) |
![]() | IsTransient |
Indicates whether an element is transient or permanent.
(Inherited from Element) |
![]() | IsValidObject |
Specifies whether the .NET object represents a valid Revit entity.
(Inherited from Element) |
![]() | LevelId |
The id of the level associated with the element.
(Inherited from Element) |
![]() | Location | This property is used to find the physical location of the assembly instance within project. (Overrides ElementLocation) |
![]() | Name | A human readable name for the Element. (Inherited from Element) |
![]() | NamingCategoryId | Id of the category that drives the default naming scheme for the assembly instance. |
![]() | OwnerViewId |
The id of the view that owns the element.
(Inherited from Element) |
![]() ![]() | ParameterBuiltInParameter | Retrieves a parameter from the element given a parameter id. (Inherited from Element) |
![]() | ParameterDefinition | Retrieves a parameter from the element based on its definition. (Inherited from Element) |
![]() | ParameterGuid | Retrieves a parameter from the element given a GUID for a shared parameter. (Inherited from Element) |
![]() ![]() | Parameters | Retrieves a set containing all of the parameters that are contained within the element. (Inherited from Element) |
![]() | ParametersMap | Retrieves a map containing all of the parameters that are contained within the element. (Inherited from Element) |
![]() | Pinned |
Identifies if the element has been pinned to prevent changes.
(Inherited from Element) |
![]() ![]() | UniqueId |
A stable unique identifier for an element within the document.
(Inherited from Element) |
![]() | VersionGuid |
Get the element version Guid.
(Inherited from Element) |
![]() | ViewSpecific |
Identifies if the element is owned by a view.
(Inherited from Element) |
![]() | WorksetId |
Get Id of the Workset which owns the element.
(Inherited from Element) |

Name | Description | |
---|---|---|
![]() | AddMemberIds | Adds member element ids for the assembly instance. |
![]() | AllowsAssemblyViewCreation | Returns true if assembly views can be created for this Assembly Instance. |
![]() ![]() | AreElementsValidForAssembly | Identifies if provided assembly members are valid. |
![]() | ArePhasesModifiable |
Returns true if the properties CreatedPhaseId and DemolishedPhaseId can be modified for this Element.
(Inherited from Element) |
![]() | CanBeHidden | Indicates if the element can be hidden in the view. (Inherited from Element) |
![]() | CanBeLocked |
Identifies if the element can be locked.
(Inherited from Element) |
![]() | CanDeleteSubelement |
Checks if given subelement can be removed from the element.
(Inherited from Element) |
![]() | CanHaveTypeAssigned |
Identifies if the element can have a type assigned.
(Inherited from Element) |
![]() ![]() | CanRemoveElementsFromAssembly | Identifies if provided assembly members can be removed from the assembly instance. |
![]() | ChangeTypeId(ElementId) |
Changes the type of the element.
(Inherited from Element) |
![]() ![]() ![]() | CompareAssemblyInstances | Compares two assembly instances and returns a result with details about the differences |
![]() ![]() | Create | Creates a new assembly instance. |
![]() | DeleteEntity |
Deletes the existing entity created by %schema% in the element
(Inherited from Element) |
![]() | DeleteSubelement |
Removes a subelement from the element.
(Inherited from Element) |
![]() | DeleteSubelements |
Removes the subelements from the element.
(Inherited from Element) |
![]() | Disassemble | Removes the assembly instance and releases the member elements. |
![]() | Dispose | (Inherited from Element) |
![]() | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object) |
![]() | EvaluateAllParameterValues |
Evaluates all the parameters' values of the element.
(Inherited from Element) |
![]() | EvaluateParameterValues |
Evaluate the parameters' values of the element on the given parameter ID set.
(Inherited from Element) |
![]() | GetCenter | Returns the center of the bounding box for the assembly instance. This is the default position for placed assembly instances. |
![]() | GetDependentElements |
Get all elements that, from a logical point of view, are the children of this Element.
(Inherited from Element) |
![]() | GetEntity |
Returns the existing entity corresponding to the Schema if it has been saved in the
Element, or an invalid entity otherwise.
(Inherited from Element) |
![]() | GetEntitySchemaGuids |
Returns the Schema guids of any Entities stored in this element.
(Inherited from Element) |
![]() | GetExternalFileReference |
Gets information pertaining to the external file referenced
by the element.
(Inherited from Element) |
![]() | GetExternalResourceReference |
Gets the ExternalResourceReference associated with a specified external resource type.
(Inherited from Element) |
![]() | GetExternalResourceReferenceExpanded |
Gets the collection of ExternalResourceReference associated with a specified external resource type.
(Inherited from Element) |
![]() | GetExternalResourceReferences |
Gets the map of the external resource references referenced
by the element.
(Inherited from Element) |
![]() | GetExternalResourceReferencesExpanded |
Gets the expanded map of the external resource references referenced
by the element.
(Inherited from Element) |
![]() ![]() | GetGeneratingElementIds |
Returns the ids of the element(s) that generated the input geometry object.
(Inherited from Element) |
![]() | GetGeometryObjectFromReference |
Retrieve one geometric primitive contained in the element given a reference.
(Inherited from Element) |
![]() | GetHashCode | Serves as the default hash function. (Inherited from Object) |
![]() | GetMaterialArea |
Gets the area of the material with the given id.
(Inherited from Element) |
![]() | GetMaterialIds |
Gets the element ids of all materials present in the element.
(Inherited from Element) |
![]() | GetMaterialVolume |
Gets the volume of the material with the given id.
(Inherited from Element) |
![]() | GetMemberIds | Gets member element ids for the assembly instance. |
![]() | GetMonitoredLinkElementIds |
Provides the link instance IDs when the element is monitoring.
(Inherited from Element) |
![]() | GetMonitoredLocalElementIds |
Provides the local element IDs when the element is monitoring.
(Inherited from Element) |
![]() | GetOrderedParameters |
Gets the parameters associated to the element in order.
(Inherited from Element) |
![]() | GetParameter | Retrieves a parameter from the element given identifier. (Inherited from Element) |
![]() | GetParameterFormatOptions |
Returns a FormatOptions override for the element Parameter, or a default FormatOptions if no override exists.
(Inherited from Element) |
![]() | GetParameters | Retrieves the parameters from the element via the given name. (Inherited from Element) |
![]() | GetPhaseStatus |
Gets the status of a given element in the input phase
(Inherited from Element) |
![]() | GetSubelements |
Returns the collection of element subelements.
(Inherited from Element) |
![]() | GetTransform | Gets the origin of the assembly instance. |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object) |
![]() ![]() | GetTypeId |
Returns the identifier of this element's type.
(Inherited from Element) |
![]() | GetValidTypes |
Obtains a set of types that are valid for this element.
(Inherited from Element) |
![]() | HasPhases |
Returns true if this Element has the properties CreatedPhaseId and DemolishedPhaseId.
(Inherited from Element) |
![]() | IsCreatedPhaseOrderValid |
Returns true if createdPhaseId and demolishedPhaseId are in order.
(Inherited from Element) |
![]() | IsDemolishedPhaseOrderValid |
Returns true if createdPhaseId and demolishedPhaseId are in order.
(Inherited from Element) |
![]() | IsExternalFileReference |
Determines whether this Element represents an external
file.
(Inherited from Element) |
![]() | IsHidden | Identifies if the element has been permanently hidden in the view. (Inherited from Element) |
![]() | IsMember | Determines whether the given ElementId is a member of this assembly |
![]() | IsMonitoringLinkElement |
Indicate whether an element is monitoring any elements in any linked models.
(Inherited from Element) |
![]() | IsMonitoringLocalElement |
Indicate whether an element is monitoring other local elements.
(Inherited from Element) |
![]() | IsPhaseCreatedValid |
Returns true if createdPhaseId is an allowed value for the property CreatedPhaseId in this Element.
(Inherited from Element) |
![]() | IsPhaseDemolishedValid |
Returns true if demolishedPhaseId is an allowed value for the property DemolishedPhaseId in this Element.
(Inherited from Element) |
![]() ![]() | IsValidNamingCategory | Identifies if the naming category is valid for an assembly instance. |
![]() | IsValidType(ElementId) |
Checks if given type is valid for this element.
(Inherited from Element) |
![]() | LookupParameter | Attempts to find a parameter on the element which has the given name. (Inherited from Element) |
![]() ![]() | PlaceInstance | Places an assembly instance of a given assembly type at the specified location. |
![]() | RefersToExternalResourceReference |
Determines whether this Element uses external resources associated with
a specified external resource type.
(Inherited from Element) |
![]() | RefersToExternalResourceReferences |
Determines whether this Element uses external resources.
(Inherited from Element) |
![]() | RemoveMemberIds | Removes member element ids from the assembly instance. |
![]() | SetEntity |
Stores the entity in the element. If an Entity described by the same Schema already
exists, it is overwritten.
(Inherited from Element) |
![]() | SetMemberIds | Sets member element ids for the assembly instance. All existing members are cleared. |
![]() | SetTransform | Sets the origin of the assembly instance. |
![]() | ToString | Returns a string that represents the current object. (Inherited from Object) |

// Create assembly instance, name the assembly, and create views of the assembly AssemblyInstance CreateAssemblyAndViews(Autodesk.Revit.DB.Document doc, ICollection<ElementId> elementIds) { AssemblyInstance assemblyInstance = null; using (Transaction transaction = new Transaction(doc)) { ElementId categoryId = doc.GetElement(elementIds.First()).Category.Id; // use category of one of the assembly elements if (AssemblyInstance.IsValidNamingCategory(doc, categoryId, elementIds)) { transaction.Start("Create Assembly Instance"); assemblyInstance = AssemblyInstance.Create(doc, elementIds, categoryId); transaction.Commit(); // commit the transaction that creates the assembly instance before modifying the instance's name if (transaction.GetStatus() == TransactionStatus.Committed) { transaction.Start("Set Assembly Name"); assemblyInstance.AssemblyTypeName = "My Assembly Name"; transaction.Commit(); } if (assemblyInstance.AllowsAssemblyViewCreation()) // create assembly views for this assembly instance { if (transaction.GetStatus() == TransactionStatus.Committed) { transaction.Start("View Creation"); View3D view3d = AssemblyViewUtils.Create3DOrthographic(doc, assemblyInstance.Id); ViewSchedule partList = AssemblyViewUtils.CreatePartList(doc, assemblyInstance.Id); transaction.Commit(); } } } } return assemblyInstance; }
' Create assembly instance, name the assembly, and create views of the assembly Private Function CreateAssemblyAndViews(doc As Autodesk.Revit.DB.Document, elementIds As ICollection(Of ElementId)) As AssemblyInstance Dim assemblyInstance__1 As AssemblyInstance = Nothing Using transaction As New Transaction(doc) Dim categoryId As ElementId = doc.GetElement(elementIds.First()).Category.Id ' use category of one of the assembly elements If AssemblyInstance.IsValidNamingCategory(doc, categoryId, elementIds) Then transaction.Start("Create Assembly Instance") assemblyInstance__1 = AssemblyInstance.Create(doc, elementIds, categoryId) transaction.Commit() ' commit the transaction that creates the assembly instance before modifying the instance's name If transaction.GetStatus() = TransactionStatus.Committed Then transaction.Start("Set Assembly Name") assemblyInstance__1.AssemblyTypeName = "My Assembly Name" transaction.Commit() End If If assemblyInstance__1.AllowsAssemblyViewCreation() Then ' create assembly views for this assembly instance If transaction.GetStatus() = TransactionStatus.Committed Then transaction.Start("View Creation") Dim view3d As View3D = AssemblyViewUtils.Create3DOrthographic(doc, assemblyInstance__1.Id) Dim partList As ViewSchedule = AssemblyViewUtils.CreatePartList(doc, assemblyInstance__1.Id) transaction.Commit() End If End If End If End Using Return assemblyInstance__1 End Function
No code example is currently available or this language may not be supported.
No code example is currently available or this language may not be supported.
See Also