ExclusionFilter Class


Exclusion Filter Class

A filter used to exclude a set of elements automatically.
Inheritance Hierarchy

Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 25.0.0.0 (25.0.0.0)
Syntax
public class ExclusionFilter : ElementQuickFilter

The ExclusionFilter type exposes the following members.

Constructors
Name Description
Public method ExclusionFilter Constructs a new instance of a filter to exclude elements automatically.
Top
Properties
Name Description
Public property Inverted True if the results of the filter are inverted; elements that would normally be accepted by this filter will be rejected, and elements that would normally be rejected will be accepted.
(Inherited from ElementFilter )
Public property IsValidObject Specifies whether the .NET object represents a valid Revit entity.
(Inherited from ElementFilter )
Top
Methods
Name Description
Public method Dispose
(Inherited from ElementFilter )
Public method Equals Determines whether the specified object is equal to the current object.
(Inherited from Object )
Public method GetHashCode Serves as the default hash function.
(Inherited from Object )
Public method GetIdsToExclude Returns the ids to be excluded by this filter.
Public method GetType Gets the Type of the current instance.
(Inherited from Object )
Public method PassesFilter(Element) Applies the filter to a given element.
(Inherited from ElementFilter )
Public method PassesFilter(Document, ElementId) Applies the filter to a given element.
(Inherited from ElementFilter )
Public method ToString Returns a string that represents the current object.
(Inherited from Object )
Top
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.
Example
// 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();
See Also