Skip to content

AssemblyInstance

Public Class

Combines multiple elements for tagging, filtering, scheduling and creating isolated assembly views.

Inheritance Hierarchy

System.Object
Autodesk.Revit.DB.Element
Autodesk.Revit.DB.AssemblyInstance

Namespace: Autodesk.Revit.DB

Assembly: RevitAPI (in RevitAPI.dll) Version: 25.0.0.0 (25.0.0.0)

Syntax

public class AssemblyInstance : Element

The AssemblyInstance type exposes the following members.

Properties

Name

Description


Public Property

The id of the assembly instance to which the element belongs.
(Inherited from Element)


Public Property

The name for the assembly type. All matching assembly instances share this name. Unique assembly instances are named automatically based on their naming category.


Public Property
Code Example
BoundingBox

Retrieves a box that circumscribes all geometry of the element.
(Inherited from Element)


Public Property
Category

Retrieves a Category object that represents the category or sub category in which the element resides.
(Inherited from Element)


Public Property
Code Example
CreatedPhaseId

Id of a Phase at which the Element was created.
(Inherited from Element)


Public Property
Code Example
DemolishedPhaseId

Id of a Phase at which the Element was demolished.
(Inherited from Element)


Public Property
Code Example
DesignOption

Returns the design option to which the element belongs.
(Inherited from Element)


Public Property
Document

Returns the Document in which the Element resides.
(Inherited from Element)


Public Property
Code Example
Geometry

Retrieves the geometric representation of the element.
(Inherited from Element)


Public Property

The id of the group to which an element belongs.
(Inherited from Element)


Public Property
Code Example
Id

A unique identifier for an Element in an Autodesk Revit project.
(Inherited from Element)


Public Property
IsModifiable

Identifies if the element is modifiable.
(Inherited from Element)


Public Property
IsTransient

Indicates whether an element is transient or permanent.
(Inherited from Element)


Public Property
IsValidObject

Specifies whether the .NET object represents a valid Revit entity.
(Inherited from Element)


Public Property

The id of the level associated with the element.
(Inherited from Element)


Public Property
Location

This property is used to find the physical location of the assembly instance within project.
(Overrides Element.Location)


Public Property
Name

A human readable name for the Element.
(Inherited from Element)


Public Property

Id of the category that drives the default naming scheme for the assembly instance.


Public Property

The id of the view that owns the element.
(Inherited from Element)


Public Property
Code Example
Parameter.BuiltInParameter.

Retrieves a parameter from the element given a parameter id.
(Inherited from Element)


Public Property
Parameter.Definition.

Retrieves a parameter from the element based on its definition.
(Inherited from Element)


Public Property
Parameter.Guid.

Retrieves a parameter from the element given a GUID for a shared parameter.
(Inherited from Element)


Public Property
Code Example
Parameters

Retrieves a set containing all of the parameters that are contained within the element.
(Inherited from Element)


Public Property
ParametersMap

Retrieves a map containing all of the parameters that are contained within the element.
(Inherited from Element)


Public Property
Pinned

Identifies if the element has been pinned to prevent changes.
(Inherited from Element)


Public Property
Code Example
UniqueId

A stable unique identifier for an element within the document.
(Inherited from Element)


Public Property
VersionGuid

Get the element version Guid.
(Inherited from Element)


Public Property

Identifies if the element is owned by a view.
(Inherited from Element)


Public Property
WorksetId

Get Id of the Workset which owns the element.
(Inherited from Element)


Methods

Name

Description


Public Method

Adds member element ids for the assembly instance.


Public Method
AllowsAssemblyViewCreation

Returns true if assembly views can be created for this Assembly Instance.


Public Method
Static Member

Identifies if provided assembly members are valid.


Public Method
ArePhasesModifiable

Returns true if the properties CreatedPhaseId and DemolishedPhaseId can be modified for this Element.
(Inherited from Element)


Public Method
CanBeHidden

Indicates if the element can be hidden in the view.
(Inherited from Element)


Public Method

Identifies if the element can be locked.
(Inherited from Element)


Public Method

Checks if given subelement can be removed from the element.
(Inherited from Element)


Public Method
CanHaveTypeAssigned.

Identifies if the element can have a type assigned.
(Inherited from Element)


Public Method
Static Member

Identifies if provided assembly members can be removed from the assembly instance.


Public Method
ChangeTypeId(ElementId)

Changes the type of the element.
(Inherited from Element)


Public Method
Static Member
Code Example
CompareAssemblyInstances

Compares two assembly instances and returns a result with details about the differences


Public Method
Static Member
Create

Creates a new assembly instance.


Public Method

Deletes the existing entity created by %schema% in the element
(Inherited from Element)


Public Method
DeleteSubelement

Removes a subelement from the element.
(Inherited from Element)


Public Method
DeleteSubelements

Removes the subelements from the element.
(Inherited from Element)


Public Method

Removes the assembly instance and releases the member elements.


Public Method

(Inherited from Element)


Public Method

Equals

Determines whether the specified object is equal to the current object.
(Inherited from Object)


Public Method

Evaluates all the parameters’ values of the element.
(Inherited from Element)


Public Method

Evaluate the parameters’ values of the element on the given parameter ID set.
(Inherited from Element)


Public Method

Returns the center of the bounding box for the assembly instance. This is the default position for placed assembly instances.


Public Method
GetDependentElements

Get all elements that, from a logical point of view, are the children of this Element.
(Inherited from Element)


Public Method
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)


Public Method

Returns the Schema guids of any Entities stored in this element.
(Inherited from Element)


Public Method

Gets information pertaining to the external file referenced by the element.
(Inherited from Element)


Public Method
GetExternalResourceReference

Gets the ExternalResourceReference associated with a specified external resource type.
(Inherited from Element)


Public Method
GetExternalResourceReferenceExpanded

Gets the collection of ExternalResourceReference associated with a specified external resource type.
(Inherited from Element)


Public Method
GetExternalResourceReferences

Gets the map of the external resource references referenced by the element.
(Inherited from Element)


Public Method
GetExternalResourceReferencesExpanded

Gets the expanded map of the external resource references referenced by the element.
(Inherited from Element)


Public Method
Code Example
GetGeneratingElementIds

Returns the ids of the element(s) that generated the input geometry object.
(Inherited from Element)


Public Method
GetGeometryObjectFromReference

Retrieve one geometric primitive contained in the element given a reference.
(Inherited from Element)


Public Method

GetHashCode

Serves as the default hash function.
(Inherited from Object)


Public Method

Gets the area of the material with the given id.
(Inherited from Element)


Public Method
GetMaterialIds

Gets the element ids of all materials present in the element.
(Inherited from Element)


Public Method

Gets the volume of the material with the given id.
(Inherited from Element)


Public Method

Gets member element ids for the assembly instance.


Public Method

Provides the link instance IDs when the element is monitoring.
(Inherited from Element)


Public Method

Provides the local element IDs when the element is monitoring.
(Inherited from Element)


Public Method
GetOrderedParameters

Gets the parameters associated to the element in order.
(Inherited from Element)


Public Method
GetParameter

Retrieves a parameter from the element given identifier.
(Inherited from Element)


Public Method

Returns a FormatOptions override for the element Parameter, or a default FormatOptions if no override exists.
(Inherited from Element)


Public Method
GetParameters

Retrieves the parameters from the element via the given name.
(Inherited from Element)


Public Method

Gets the status of a given element in the input phase
(Inherited from Element)


Public Method
GetSubelements

Returns the collection of element subelements.
(Inherited from Element)


Public Method

Gets the origin of the assembly instance.


Public Method

GetType

Gets the Type of the current instance.
(Inherited from Object)


Public Method
Code Example
GetTypeId

Returns the identifier of this element’s type.
(Inherited from Element)


Public Method

Obtains a set of types that are valid for this element.
(Inherited from Element)


Public Method
HasPhases

Returns true if this Element has the properties CreatedPhaseId and DemolishedPhaseId.
(Inherited from Element)


Public Method

Returns true if createdPhaseId and demolishedPhaseId are in order.
(Inherited from Element)


Public Method

Returns true if createdPhaseId and demolishedPhaseId are in order.
(Inherited from Element)


Public Method
IsExternalFileReference

Determines whether this Element represents an external file.
(Inherited from Element)


Public Method
IsHidden

Identifies if the element has been permanently hidden in the view.
(Inherited from Element)


Public Method

Determines whether the given ElementId is a member of this assembly


Public Method

Indicate whether an element is monitoring any elements in any linked models.
(Inherited from Element)


Public Method

Indicate whether an element is monitoring other local elements.
(Inherited from Element)


Public Method
IsPhaseCreatedValid

Returns true if createdPhaseId is an allowed value for the property CreatedPhaseId in this Element.
(Inherited from Element)


Public Method
IsPhaseDemolishedValid

Returns true if demolishedPhaseId is an allowed value for the property DemolishedPhaseId in this Element.
(Inherited from Element)


Public Method
Static Member

Identifies if the naming category is valid for an assembly instance.


Public Method
IsValidType(ElementId)

Checks if given type is valid for this element.
(Inherited from Element)


Public Method
LookupParameter

Attempts to find a parameter on the element which has the given name.
(Inherited from Element)


Public Method
Static Member

Places an assembly instance of a given assembly type at the specified location.


Public Method

Determines whether this Element uses external resources associated with a specified external resource type.
(Inherited from Element)


Public Method
RefersToExternalResourceReferences

Determines whether this Element uses external resources.
(Inherited from Element)


Public Method

Removes member element ids from the assembly instance.


Public Method

Stores the entity in the element. If an Entity described by the same Schema already exists, it is overwritten.
(Inherited from Element)


Public Method

Sets member element ids for the assembly instance. All existing members are cleared.


Public Method

Sets the origin of the assembly instance.


Public Method

ToString

Returns a string that represents the current object.
(Inherited from Object)


Example

// 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;
}