Revit 2025 API
DocumentGet |
Returns the list of element ids that are not used. The list of unused element ids may include elements that can't be deleted.
Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 25.0.0.0 (25.0.0.0)
Syntax
public ISet<ElementId> GetAllUnusedElements( ISet<ElementId> categories )
Public Function GetAllUnusedElements ( categories As ISet(Of ElementId) ) As ISet(Of ElementId)
public: ISet<ElementId^>^ GetAllUnusedElements( ISet<ElementId^>^ categories )
member GetAllUnusedElements : categories : ISet<ElementId> -> ISet<ElementId>
Parameters
Return Value
ISetElementIdUnused element ids.

Exception | Condition |
---|---|
ArgumentNullException | A non-optional argument was null |

This method returns unused element ids that are available in the Purge Unused window in the Revit, including elements that can't be deleted.
To get unused elements that do not have a category assigned add
INVALID to the collection of categories.
If the input categories collection is empty, the method returns all unused elements in the document.

public void GetAllUnusedElements(Autodesk.Revit.DB.Document document) { // Get all unused elements in the document var allUnusedElementIds = document.GetAllUnusedElements(new HashSet<ElementId>()); // Get unused elements without a category var unusedElementIdsWithNoCategory = document.GetAllUnusedElements(new HashSet<ElementId>() { new ElementId(BuiltInCategory.INVALID) }); // Get unused wall and floors types HashSet<ElementId> categoriesToPurge = new HashSet<ElementId> { new ElementId(BuiltInCategory.OST_Walls), new ElementId(BuiltInCategory.OST_Floors) }; var unusedElementIds = document.GetAllUnusedElements(categoriesToPurge); }
Public Sub GetAllUnusedElements(ByVal document As Document) ' Get all unused elements in the document Dim allUnusedElementIds = document.GetAllUnusedElements(New HashSet(Of ElementId)()) ' Get unused elements without a category Dim unusedElementIdsWithNoCategory = document.GetAllUnusedElements(New HashSet(Of ElementId)() From { New ElementId(BuiltInCategory.INVALID) }) ' Get unused wall and floors types Dim categoriesToPurge As HashSet(Of ElementId) = New HashSet(Of ElementId) From { New ElementId(BuiltInCategory.OST_Walls), New ElementId(BuiltInCategory.OST_Floors) } Dim unusedElementIds = document.GetAllUnusedElements(categoriesToPurge) End Sub
No code example is currently available or this language may not be supported.
No code example is currently available or this language may not be supported.
See Also