LogicalAndFilter Class


Logical And Filter Class

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

Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 25.0.0.0 (25.0.0.0)
Syntax
public class LogicalAndFilter : ElementLogicalFilter

The LogicalAndFilter type exposes the following members.

Constructors
Name Description
Public method LogicalAndFilter(IList ElementFilter ) Constructs a new instance of the logical filter with any number of input filters.
Public method LogicalAndFilter(ElementFilter, ElementFilter) Constructs a new instance of the logical filter with two input filters.
Top
Properties
Name Description
Public property 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 )
Public property IsValidObject Specifies whether the .NET object represents a valid Revit entity.
(Inherited from ElementFilter )
Top
Methods
Name Description
Public method Dispose
(Inherited from ElementFilter )
Public method Equals Determines whether the specified object is equal to the current object.
(Inherited from Object )
Public method GetFilters Returns an array of copies of the filters that are logically combined by this ElementLogicalFilter.
(Inherited from ElementLogicalFilter )
Public method GetHashCode Serves as the default hash function.
(Inherited from Object )
Public method GetType Gets the Type of the current instance.
(Inherited from Object )
Public method PassesFilter(Element) Applies the filter to a given element.
(Inherited from ElementFilter )
Public method PassesFilter(Document, ElementId) Applies the filter to a given element.
(Inherited from ElementFilter )
Public method SetFilters Replaces current filters in the logical filter with any number of input filters.
(Inherited from ElementLogicalFilter )
Public method ToString Returns a string that represents the current object.
(Inherited from Object )
Top
Remarks
The component filters may be reordered by Revit to cause the quickest acting filters to be evaluated first.
Example
// 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();
See Also