DocumentDelete(ICollectionElementId) Method

Deletes a set of elements from the document.

Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 25.0.0.0 (25.0.0.0)
Syntax
public ICollection<ElementId> Delete(
	ICollection<ElementId> elementIds
)

Parameters

elementIds  ICollectionElementId
The ids of the elements to delete.

Return Value

ICollectionElementId
The deleted element id set.
Exceptions
ExceptionCondition
ArgumentException One or more elements in elementIds do not exist in the document. -or- One or more of the elementIds cannot be deleted.
ArgumentNullException A non-optional argument was null
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.
ModificationOutsideTransactionException The document has no open transaction.
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.

Example
// 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.");
See Also