public ICollection<ElementId> Delete( ICollection<ElementId> elementIds )
| Exception | Condition |
|---|---|
| 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. |
Note: in a family document, the predefined elements (those elements inherited from its family template file) can't be deleted by this method.
// 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 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 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 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.")