Namespace:
Autodesk.Revit.DB
ExclusionFilter
Class
Description:
A filter used to exclude a set of elements automatically.
A filter used to exclude a set of elements automatically.
Remarks:
This filter is a quick filter. Quick filters operate only on the ElementRecord, a low-memory class which has a limited interface to read element properties. Elements which are rejected by a quick filter will not be expanded in memory.
This filter is a quick filter. Quick filters operate only on the ElementRecord, a low-memory class which has a limited interface to read element properties. Elements which are rejected by a quick filter will not be expanded in memory.
Inheritance Hierarchy:
System.Object
Autodesk.Revit.DB.ElementFilter
Autodesk.Revit.DB.ElementQuickFilter
Autodesk.Revit.DB.ExclusionFilter
System.Object
Autodesk.Revit.DB.ElementFilter
Autodesk.Revit.DB.ElementQuickFilter
Autodesk.Revit.DB.ExclusionFilter
Examples
// Use Exclusion filter to find exclude a set of elements in the document automatically
// Find all walls that are not currently selected,
// Get all element ids which are current selected by users, exclude these ids when filtering
ICollection<ElementId> selectedIds = uiDocument.Selection.GetElementIds();
// Use the selection to instantiate an exclusion filter
ExclusionFilter filter = new ExclusionFilter(selectedIds);
// For the sake of simplicity we do not test here whether the selection is empty or not,
// but in production code a proper validation would have to be done to avoid an argument
// exception from the filter's consructor.
// Apply the filter to the elements in the active document,
// Use shortcut method OfClass() to find Walls only
FilteredElementCollector collector = new FilteredElementCollector(uiDocument.Document);
IList<Element> walls = collector.WherePasses(filter).OfClass(typeof(Wall)).ToElements();