Revit 2025 API
Logical |
A filter that contains a set of filters. The filter passes when all filters in the set pass.

SystemObject
Autodesk.Revit.DBElementFilter
Autodesk.Revit.DBElementLogicalFilter
Autodesk.Revit.DBLogicalAndFilter
Autodesk.Revit.DBElementFilter
Autodesk.Revit.DBElementLogicalFilter
Autodesk.Revit.DBLogicalAndFilter
Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 25.0.0.0 (25.0.0.0)
Syntax
The LogicalAndFilter type exposes the following members.

Name | Description | |
---|---|---|
![]() | LogicalAndFilter(IListElementFilter) | Constructs a new instance of the logical filter with any number of input filters. |
![]() | LogicalAndFilter(ElementFilter, ElementFilter) | Constructs a new instance of the logical filter with two input filters. |

Name | Description | |
---|---|---|
![]() | Inverted |
True if the results of the filter are inverted; elements that would normally be accepted by this filter will be rejected,
and elements that would normally be rejected will be accepted.
(Inherited from ElementFilter) |
![]() | IsValidObject |
Specifies whether the .NET object represents a valid Revit entity.
(Inherited from ElementFilter) |

Name | Description | |
---|---|---|
![]() | Dispose | (Inherited from ElementFilter) |
![]() | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object) |
![]() | GetFilters |
Returns an array of copies of the filters that are logically combined by this ElementLogicalFilter.
(Inherited from ElementLogicalFilter) |
![]() | GetHashCode | Serves as the default hash function. (Inherited from Object) |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object) |
![]() | PassesFilter(Element) |
Applies the filter to a given element.
(Inherited from ElementFilter) |
![]() | PassesFilter(Document, ElementId) |
Applies the filter to a given element.
(Inherited from ElementFilter) |
![]() | SetFilters |
Replaces current filters in the logical filter with any number of input filters.
(Inherited from ElementLogicalFilter) |
![]() | ToString | Returns a string that represents the current object. (Inherited from Object) |

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

// 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();
' 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()
No code example is currently available or this language may not be supported.
No code example is currently available or this language may not be supported.
See Also