Skip to content

Element.ChangeTypeId(Document, ICollection.ElementId., ElementId)

Public Class

Changes the type of all elements in the given set.

Namespace: Autodesk.Revit.DB

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

Syntax

public static IDictionary<ElementId, ElementId> ChangeTypeId(
Document document,
ICollection<ElementId> elementIds,
ElementId typeId
)

Parameters

document Document

The document.

elementIdsICollection. ElementId.

A collection of element IDs.

typeId ElementId

Identifier of the type to assign to this element.

Return Value

IDictionary. ElementId, ElementId.
The map of original element IDs to the new element IDs if some elements were replaced by new elements (the map is empty if no elements were replaced)

Exceptions

Exception

Condition


ArgumentException

At least one of the elements in elementIds does not exist in the document -or- Not all elements elementIds can have a type assigned. -or- The type typeId is not valid for at least one of the elements in elementIds.


ArgumentNullException

A non-optional argument was null


InvalidOperationException

One or more elements in elementIds is a member of a loaded family. -or- One or more elements in elementIds is a member of a group type that is not being edited.


Remarks

In some cases, applying a change in type will result in a new element being created. The only active examples of this are when applying a normal wall type to a curtain panel, or converting such a wall back to a curtain panel. Then return map would have (original element id, new element id) pair(s). Note: this function needs an open transaction. Note: this function calls regeneration.