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: 24.0.0.0 (24.0.0.0)
Since: 2024
Syntax
C# |
---|
|
Visual Basic |
---|
|
Visual C++ |
---|
|
Parameters
- categories
- Type: System.Collections.GenericISetElementId
Collection of categories to check for unused elements.
Return Value
Unused element ids.Remarks
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.
Examples

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);
}
Exceptions
Exception | Condition |
---|---|
Autodesk.Revit.ExceptionsArgumentNullException | A non-optional argument was null |