Skip to content

Simple Filters

This section introduces structural filtering — selecting the right objects before any validation happens.

Every DAQS rule starts with a filter. The filter defines the scope: which elements does this rule apply to? Getting the scope right is the first skill to master.

The filters in this section are intentionally simple: direct conditions, no variables where avoidable, one concept at a time. They are easy to read, easy to debug — and easy to get wrong if the underlying model structure is misunderstood.

Most common mistake here: a rule that misses elements. In almost all cases, the filter is too strict or the data lives on a different object type than expected.


What you will learn

  • How to select FamilySymbol objects and expose their data for validation
  • How to narrow the scope to a specific Revit category
  • How to combine multiple categories using or and the in operator
  • How to build inclusion lists for scalable category filtering
  • How to build exclusion lists and when that is the right approach

Pages in this section

Filter by Family Symbol

How to select FamilySymbol objects and add domain data — like Assembly Code — to the filter output for validation.

Filter by Category

How to restrict a filter to a specific Revit category using category.label. Explains why label must always be used instead of name.

Filter by Multiple Categories (OR)

How to combine multiple category conditions with or, and why parentheses are required to get the logic right.

Filter by Category — Inclusion List

How to define a list of allowed categories and use the in operator. The preferred approach when a rule applies to more than one or two categories.

Filter by Category — Exclusion List

How to exclude specific categories using $not(... in ...). Explains when exclusion is the right choice and when it is dangerous.


Prerequisites

You should already understand: