ExclusionFilter Class


A filter used to exclude a set of elements automatically.

Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 2015.0.0.0 (2015.0.0.0)
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

ArchiLabs Desktop

Put AI to work inside Revit.

Give Desktop your instructions and project files to build Revit families, update model elements, and create views and schedules. Works directly in Revit and AutoCAD.

Explore Desktop →