Model Health — Warning Management
Revit’s warning system accumulates silently. Over the course of a project, unresolved warnings — duplicate walls, overlapping elements, inconsistent constraints — compound into a model that passes QA checks on the surface while carrying hundreds of buried issues. The three warning scripts address this at three levels: identification, visualisation, and cleanup.
DYN_View Elements With Warning collects all active model warnings using archilab.Revit.Elements.Warning.GetWarnings, extracts the element IDs involved, and cross-references them against the elements currently visible in the active view. The output is a filtered list of every element in view that carries at least one unresolved warning — the first step in any model audit.
DYN_View Elements by Warning Type goes further. A dropdown selector exposes the full list of warning categories present in the model (duplicate walls, room separation issues, overlapping floors, and so on). Selecting a type triggers a graphic override across every affected element: a solid red fill (232, 122, 122) with black edges and no line pattern, applied directly in the active view using OverrideGraphicSettings. The result is a colour-coded map of exactly where each warning class is concentrated — useful for assigning specific issues to specific team members without exporting warning reports or manually hunting through the model.
DYN_Restore Graphics Override closes the loop. Once warnings have been reviewed and resolved, View.ResetElementOverrides (Clockwork) strips all graphic overrides from every element in the active view in a single operation — restoring the view to its template appearance without touching overrides applied to other views. The three scripts work as a cycle: identify → visualise by type → fix → reset → repeat.
Documentation — Revisions and Room Calculations
Two utilities handle recurring documentation tasks that do not fit neatly into standard Revit workflows.
DYN_Add or Remove Revision to Sheets manages revision stamps at scale. On large projects with dozens or hundreds of sheets, applying or removing a revision cloud to a specific sheet set — say, all structural drawings at a given level, or all sheets issued to a particular contractor — requires opening each sheet individually in native Revit. This script uses a Data-Shapes form interface to present the full sheet list and all available revision sequences simultaneously. The engineer selects the target sheets and the revision to apply or remove; Rhythm.Revit.Helpers.Helpers.SimpleUserMessage confirms the result. A task that otherwise scales linearly with sheet count takes the same time regardless of whether the set contains five sheets or a hundred.
DYN_Area Idropittura Calculation computes the waterproofing paint area for every room in the model automatically. Italian building specifications require calculating the Area Idropittura (waterproofing area) for each room — the painted surface area of the lower wall band, derived from the room perimeter and a height multiplier that varies by finish specification. The script collects all rooms via OST_Rooms, reads each room’s Perimeter and Limit Offset parameters, applies the user-supplied multiplier (set via a slider), and writes the result back to the Area Idropittura shared parameter directly on the room element. When finish specifications change — as they routinely do during design development — re-running the script updates every room in the model in seconds.