Delete Method (ICollection(ElementId))


Deletes a set of elements from the document.

Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 2015.0.0.0 (2015.0.0.0)

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 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

Copy C#
// 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.");
Copy C#
// 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.");
Copy VB.NET
' 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.")
Copy VB.NET
' 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.

See Also