A filter used to exclude a set of elements automatically.
Namespace: Autodesk.Revit.DBAssembly: RevitAPI (in RevitAPI.dll) Version: 21.0.0.0 (21.1.1.109)
Since: 2011
Syntax
C# |
---|
public class ExclusionFilter : ElementQuickFilter |
Visual Basic |
---|
Public Class ExclusionFilter _ Inherits ElementQuickFilter |
Visual C++ |
---|
public ref class ExclusionFilter : public ElementQuickFilter |
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.
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();

' 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 Dim selectedIds As ICollection(Of ElementId) = uiDocument.Selection.GetElementIds() ' Use the selection to instantiate an exclusion filter Dim filter As 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 Dim collector As New FilteredElementCollector(uiDocument.Document) Dim walls As IList(Of Element) = collector.WherePasses(filter).OfClass(GetType(Wall)).ToElements()
Inheritance Hierarchy
System..::..Object
Autodesk.Revit.DB..::..ElementFilter
Autodesk.Revit.DB..::..ElementQuickFilter
Autodesk.Revit.DB..::..ExclusionFilter
Autodesk.Revit.DB..::..ElementFilter
Autodesk.Revit.DB..::..ElementQuickFilter
Autodesk.Revit.DB..::..ExclusionFilter