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