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: 24.0.0.0 (24.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

CopyC#
// 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();
CopyVB.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

SystemObject
  Autodesk.Revit.DBElementFilter
    Autodesk.Revit.DBElementLogicalFilter
      Autodesk.Revit.DBLogicalAndFilter

See Also

ArchiLabs

Stop fighting Revit automation.

Build repeatable BIM design and documentation workflows with scripts, data, and AI in one place, without wrestling brittle one-off automations.

Try ArchiLabs →