Returns the list of element ids that are not used and can be deleted from the document.
Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 24.0.0.0 (24.0.0.0)
Since:
2024
Syntax
Visual Basic |
---|
Public Function GetUnusedElements ( _
categories As ISet(Of ElementId) _
) As ISet(Of ElementId) |
Parameters
- categories
- Type: System.Collections.Generic..::..ISet<(Of <(<'ElementId>)>)>
Collection of categories to check for unused elements.
Return Value
Unused elements that can be deleted from the document.
Remarks
Examples
CopyC#
public void DeleteAllUnused(Autodesk.Revit.DB.Document document)
{
using (Transaction transaction = new Transaction(document, "Delete unused elements"))
{
transaction.Start();
ISet<ElementId> unusedElementIds = document.GetUnusedElements(new HashSet<ElementId>());
while (unusedElementIds.Any())
{
document.Delete(unusedElementIds);
unusedElementIds = document.GetUnusedElements(new HashSet<ElementId>());
}
transaction.Commit();
}
}
public void GetUnusedElements(Autodesk.Revit.DB.Document document)
{
var allUnusedElementIds = document.GetUnusedElements(new HashSet<ElementId>());
var unusedElementIdsWithNoCategory = document.GetUnusedElements(new HashSet<ElementId>() { new ElementId(BuiltInCategory.INVALID) });
HashSet<ElementId> categoriesToPurge = new HashSet<ElementId>
{
new ElementId(BuiltInCategory.OST_Walls),
new ElementId(BuiltInCategory.OST_Floors)
};
var unusedElementIds = document.GetUnusedElements(categoriesToPurge);
}
Exceptions
See Also