Every model has questions you ask weekly — fire-rated doors, walls under 100, every detail line drawn in Thin Lines. Select turns each into a saved rule: categories plus plain-English conditions, a live count, a colour swatch. Tick rules and act — select, colour, temporarily isolate or hide — while the window stays open. Rules live in the project, export as .json, and one gesture builds them from whatever you have selected. Revit 2024–2027.
Revit's filters are per-view plumbing, and Select All Instances refuses half the drafting world.
Select is modeless — the window floats while you work, every model action runs through an external event, colour is one Clear away from gone, and isolate and hide are Revit's own temporary modes.
Select opens with the project's saved rules — each row a colour swatch, a name, a summary of its conditions and a live count you can click. Counts run on open; Refresh re-runs them against the model as it stands. And a view-scoped rule with no usable view says so honestly, instead of pretending zero elements matched.
Edit rule: name it, pick its colour, choose Whole model or Active view — the latter meaning what the view shows, filters and phases included, not a crop-box test. Tick categories, or none to match any. Then add conditions that read left to right: Parameter Fire Rating is one of 60;90;120. Line style is Thin Lines — a condition that exists because a detail line has no type. Match all, or any; numeric compares use the model's own display units.
Actions take the ticked rules only, never a silent fallback to all. Select sets the Revit selection; Colour paints each rule's swatch into the chosen views in one transaction; Clear blanks the overrides on the elements those rules match, in the chosen views — nothing outside them; Isolate and Hide are Revit's temporary modes, undone by Reset. Every action reports its result in plain numbers — “507 override(s) applied across 3 view(s).” — so you always know what just happened.
Toggle Live and the colours maintain themselves: when the model changes, the changed elements are re-tested and re-painted in one transaction on the API thread — and Live only ever clears overrides it painted itself, so a colleague's hand-set graphics survive. The paint follows the same views you chose for Colour, and switching Live off leaves the paint where it is — Clear removes it.
Each count opens Rule elements: Id, Category, Name, plus any parameter columns you choose — and numeric columns keep a running Σ total over the filtered rows, so “how much exterior wall?” is answered in the footer. Zoom to rows, hand them to Revit as a selection, or export the table as CSV or HTML for whoever asked.
| Id | Category | Name | Area |
|---|---|---|---|
| 402118 | Walls | Basic Wall : FAC Brick 102 | 38.2 |
| 402544 | Walls | Basic Wall : FAC Brick 102 | 24.9 |
| 410226 | Walls | Basic Wall : Render 20 | 61.7 |
Select something in Revit and press Whole model or Active view: Select finds everything alike — same type, same line style for lines, same category for rooms and scope boxes — where Revit's own gesture refuses. It never wipes your seeds on an empty result, and its status line never says “0 matched” when the truth is “nothing was searched”. When the run can be written as a rule, Make rule appears and opens the synthesised rule in the normal editor — with a straight warning when the rule is wider than the selection.
The rule set lives in the .rvt itself, so it opens with the model for everyone. Export to .json; import offers Replace all or Add new only, fingerprints duplicates so nothing arrives twice, names every rule it overwrote, and counts conditions a newer build wrote that this one had to drop. Graft carries the set between models as “Select — Rules”, and Lens answers, per element, which saved rules it matches.
Select ships on the Views panel of the BIMIO tab, and its window opens from the Misc toolbox too. Write the rule once, keep the answer forever. Revit 2024–2027, full trial, no card.