ExclusionFilter Class


A filter used to exclude a set of elements automatically.

Namespace: Autodesk.Revit.DB
Assembly: 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

Copy C#
// 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();
Copy VB.NET
' 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

See Also