Changes the type of all elements in the given set.
Namespace: Autodesk.Revit.DBAssembly: RevitAPI (in RevitAPI.dll) Version: 26.4.0.0 (26.4.0.0)
Syntax
C#
public static IDictionary<ElementId, ElementId> ChangeTypeId(
Document document,
ICollection<ElementId> elementIds,
ElementId typeId
)
Parameters
- document Document
-
The document.
- elementIds ICollection<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.
See Also
Reference