ElementChangeTypeId(Document, ICollectionElementId, ElementId) Method

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.
elementIds  ICollectionElementId
A collection of element IDs.
typeId  ElementId
Identifier of the type to assign to this element.

Return Value

IDictionaryElementId, 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
ExceptionCondition
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.
See Also