Deletes a set of elements from the document.
Namespace: Autodesk.Revit.DBAssembly: RevitAPI (in RevitAPI.dll) Version: 21.0.0.0 (21.1.1.109)
Syntax
C# |
---|
public ICollection<ElementId> Delete( ICollection<ElementId> elementIds ) |
Visual Basic |
---|
Public Function Delete ( _ elementIds As ICollection(Of ElementId) _ ) As ICollection(Of ElementId) |
Visual C++ |
---|
public: ICollection<ElementId^>^ Delete( ICollection<ElementId^>^ elementIds ) |
Parameters
- elementIds
- Type: System.Collections.Generic..::..ICollection<(Of <(<'ElementId>)>)>
The ids of the elements to delete.
Return Value
The deleted element id set.
Remarks
This method will delete the elements and any elements that are totally dependent upon that element. Any references to the deleted elements will become invalid and hence cause an exception to be thrown if they are accessed.
The elements will be deleted with no prompts for user confirmation. Pinned elements will be deleted with no warnings.
Note: in a family document, the predefined elements (those elements inherited from its family template file) can't be deleted by this method.
Examples

// Delete all the selected elements via the set of element ids. ICollection<Autodesk.Revit.DB.ElementId> idSelection = null ; UIDocument uidoc = new UIDocument(document); ICollection<ElementId> selectedIds = uidoc.Selection.GetElementIds(); foreach (ElementId id in selectedIds) { idSelection.Add(id); } ICollection<Autodesk.Revit.DB.ElementId> deletedIdSet = document.Delete(idSelection); if (0 == deletedIdSet.Count) { throw new Exception("Deleting the selected elements in Revit failed."); } TaskDialog.Show("Revit","The selected element has been removed.");

// Delete all the selected elements via the set of elements UIDocument uidoc = new UIDocument(document); ICollection<ElementId> elements = uidoc.Selection.GetElementIds(); ICollection<Autodesk.Revit.DB.ElementId> deletedIdSet = document.Delete(elements); if (0 == deletedIdSet.Count) { throw new Exception("Deleting the selected elements in Revit failed."); } TaskDialog.Show("Revit","The selected element has been removed.");

' Delete all the selected elements via the set of element ids. Dim idSelection As ICollection(Of Autodesk.Revit.DB.ElementId) = Nothing Dim uidoc As New UIDocument(document) Dim selectedIds As ICollection(Of ElementId) = uidoc.Selection.GetElementIds() For Each id As ElementId In selectedIds idSelection.Add(id) Next Dim deletedIdSet As ICollection(Of Autodesk.Revit.DB.ElementId) = document.Delete(idSelection) If 0 = deletedIdSet.Count Then Throw New Exception("Deleting the selected elements in Revit failed.") End If TaskDialog.Show("Revit", "The selected element has been removed.")

' Delete all the selected elements via the set of elements Dim uidoc As New UIDocument(document) Dim elements As ICollection(Of ElementId) = uidoc.Selection.GetElementIds() Dim deletedIdSet As ICollection(Of Autodesk.Revit.DB.ElementId) = document.Delete(elements) If 0 = deletedIdSet.Count Then Throw New Exception("Deleting the selected elements in Revit failed.") End If TaskDialog.Show("Revit", "The selected element has been removed.")
Exceptions
Exception | Condition |
---|---|
Autodesk.Revit.Exceptions..::..ArgumentException | One or more elements in elementIds do not exist in the document. -or- One or more of the elementIds cannot be deleted. |
Autodesk.Revit.Exceptions..::..ArgumentNullException | A non-optional argument was NULL |
Autodesk.Revit.Exceptions..::..ModificationForbiddenException | The document is in failure mode: an operation has failed, and Revit requires the user to either cancel the operation or fix the problem (usually by deleting certain elements). -or- The document is being loaded, or is in the midst of another sensitive process. |
Autodesk.Revit.Exceptions..::..ModificationOutsideTransactionException | The document has no open transaction. |