LogicalAndFilter Class


A filter that contains a set of filters. The filter passes when all filters in the set pass.

Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 2015.0.0.0 (2015.0.0.0)
Since: 2011

Syntax

C#
public class LogicalAndFilter : ElementLogicalFilter
Visual Basic
Public Class LogicalAndFilter _
	Inherits ElementLogicalFilter
Visual C++
public ref class LogicalAndFilter : public ElementLogicalFilter

Remarks

The component filters may be reordered by Revit to cause the quickest acting filters to be evaluated first.

Examples

Copy C#
// Find all door instances in the project by finding all elements that both belong to the door 
// category and are family instances.
ElementClassFilter familyInstanceFilter = new ElementClassFilter(typeof(FamilyInstance));

// Create a category filter for Doors
ElementCategoryFilter doorsCategoryfilter = new ElementCategoryFilter(BuiltInCategory.OST_Doors);

// Create a logic And filter for all Door FamilyInstances
LogicalAndFilter doorInstancesFilter = new LogicalAndFilter(familyInstanceFilter, doorsCategoryfilter);

// Apply the filter to the elements in the active document
FilteredElementCollector collector = new FilteredElementCollector(document);
IList<Element> doors = collector.WherePasses(doorInstancesFilter).ToElements();
Copy VB.NET
' Find all door instances in the project by finding all elements that both belong to the door 
' category and are family instances.
Dim familyInstanceFilter As New ElementClassFilter(GetType(FamilyInstance))

' Create a category filter for Doors
Dim doorsCategoryfilter As New ElementCategoryFilter(BuiltInCategory.OST_Doors)

' Create a logic And filter for all Door FamilyInstances
Dim doorInstancesFilter As New LogicalAndFilter(familyInstanceFilter, doorsCategoryfilter)

' Apply the filter to the elements in the active document
Dim collector As New FilteredElementCollector(document)
Dim doors As IList(Of Element) = collector.WherePasses(doorInstancesFilter).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 →