Skip to main content

Slow Filters

Overview

Slow filters need to load the element information to execute, which can affect script performance. It is recommended to deplete fast filtering options before using them.

List of Slow Filters

NameConstructor ArgumentsDescription
FamilyInstanceFilterDocument / ElementId / FamilySymbolIdElements of a particular FamilySymbol
ElementLevelFilterElementId / LevelId / Boolean (invert filter)Elements associated with a level
ElementParameterFilterFilterRule / iList / Boolean (invert filter)Parameter value matching
PrimaryDesignOptionMemberFilterNone / No arguments / Boolean (invert filter)Elements of the main design option
ElementDesignOptionFilterdesignOptionIdElements of the active layout option
StructuralInstanceUsageFilterStructuralInstanceUsage (enum) / Boolean (inv)Structural use parameter for family elements
StructuralWallUsageFilterStructuralWallUsage (enum) / Boolean (inv)Structural use parameter for walls
StructuralMaterialTypeFilterStructuralMaterialType (enum) / Boolean (inv)Type of material applied to elements
RoomFilterNone / No argumentsSearch for rooms
SpaceFilterNone / No argumentsSearch spaces
AreaFilterNone / No argumentsSearch areas
RoomTagFilterNone / No argumentsSearch room labels
SpaceTagFilterNone / No argumentsSearch space labels
AreaTagFilterNone / No argumentsSearch area labels
CurveElementFilterCurveElementType (enum) / Boolean (inv)Searches for model curves, symbolic curves, detail curves, etc.
ElementIntersectsSolidFilterSolid / BooleanDetects elements that collide with each other

Note

When applying slow filters to a collector, the WherePasses() method is used to stack as many as necessary.