Namespace:
Autodesk.Revit.DB
LogicalAndFilter
Class
Description:
A filter that contains a set of filters. The filter passes when all filters in the set pass.
A filter that contains a set of filters. The filter passes when all filters in the set pass.
Remarks:
The component filters may be reordered by Revit to cause the quickest acting filters to be evaluated first.
The component filters may be reordered by Revit to cause the quickest acting filters to be evaluated first.
Inheritance Hierarchy:
System.Object
Autodesk.Revit.DB.ElementFilter
Autodesk.Revit.DB.ElementLogicalFilter
Autodesk.Revit.DB.LogicalAndFilter
System.Object
Autodesk.Revit.DB.ElementFilter
Autodesk.Revit.DB.ElementLogicalFilter
Autodesk.Revit.DB.LogicalAndFilter
Examples
// 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();