Overview
Assay is BIMIO's model quality auditor. In a single scan it sweeps the active model and detects the issues a BIM manager reviews before every delivery: accumulated Revit warnings, in-place families, imported CAD, raster images, purgeable content, RVT links that are unloaded, unpinned or hidden in views, unpinned levels and grids, unenclosed, unplaced or duplicate-numbered rooms, views without a template, orphan views, sheets without a title block or with duplicate numbers, manually hidden elements, per-element graphic overrides, overlapping annotation texts, dimensions with faked values and models dumped onto a single workset.
Beyond the list of issues, the same scan builds a complete inventory of the project: every sheet, every view, every model element and every annotation, with its worksharing authorship (who created it, who last modified it and who currently owns it). Everything is summarised in a health score from 0 to 100 with a grade from A to F.
Assay only detects: it never modifies the model. You can navigate from each finding to the element in Revit to fix it yourself, and export the results to a self-contained HTML report (it works without internet access) or the list of issues to a CSV ready for Excel.
See a real report
This is an actual HTML report Assay exports — self-contained, works offline, shareable as one file. Scroll it right here, or open it full-screen.
Who it's for
BIM managers and coordinators who audit models before a delivery or a coordination exchange, and architects or modellers who want to locate and fix the quality issues in their own model.
Requirements
- Revit 2022, 2023, 2024, 2025 or 2026 with the BIMIO suite installed.
- An open project document (the scan runs on the active model).
- To see authorship (Author, Last modified by, Owner) in the inventory, the model must be workshared (worksharing enabled); in non-workshared models those columns show N/A.
- Purgeable content detection is only available in Revit 2024 or later.
Where to find it
You can leave the window open while you work in Revit (it is modeless). If you click the button again, the same window is reused instead of opening another one.
The last scan is kept for the whole Revit session: if you close the window and reopen it on the same model, the results are restored instantly — you do not have to scan again. Opening it on a different model shows the welcome state instead (results are never shown against the wrong model).
The window centres over Revit and minimises and restores together with it.
Key concepts 13 terms
- Scan
- A full run of the audit: nine model health checks plus the inventory, all in a single read-only pass. The result replaces that of the previous scan.
- Issue
- Each individual finding of the audit: a manually hidden element, a fake dimension, an unpinned link, a Revit warning type, and so on. Each issue has a severity, area, kind, detail and a fix recommendation.
- Severity
- How serious the finding is, on four levels: Critical (almost certainly hides incorrect data, for example a dimension with manual text), Error (a clear integrity problem), Warning (worth reviewing) and Info (an informational note, often intentional).
- Area
- Thematic grouping of the issue: Graphics, Annotations, Links, Visibility, ModelHealth, Content, Coordination and Standards. It helps you see where the findings are concentrated, and you can filter by it with the All areas selector.
- Kind
- The specific type of finding (HiddenInView, FakeDimension, RogueLink, ModelWarning, InPlaceFamily, DuplicateSheetNumber, etc.). You can filter by kind with the All kinds selector in the filter row.
- Inventory
- An exhaustive listing of what the project contains: sheets, views, model elements and annotations, each with its category and its worksharing authorship. It does not flag problems: it catalogues.
- Placed view
- A view placed on at least one sheet. The per-view sweeps (annotation text overlaps, hidden elements, overrides, fake dimensions, hidden links) only visit placed views: they are the ones that get printed and therefore the ones that matter for the delivery.
- Orphan view
- A view that is not placed on any sheet. In the inventory it is marked with Yes in the Orphan column, and the Orphans only chip keeps just those; it is usually a working view, not necessarily a defect.
- Fake dimension
- A dimension whose visible value is manual text (Value Override) instead of the real measurement. Assay shows what the dimension says and what it actually measures, and flags it as Critical. Chained dimensions are checked segment by segment.
- Annotation text overlap
- Two annotation texts printed on top of each other, which makes the sheet unreadable. Assay compares only the text bodies — a leader line or a witness line crossing something is normal drafting and never counts as an overlap.
- Model health score
- A number from 0 to 100 with a grade from A to F. It starts at 100 and subtracts capped, severity-weighted penalties: Critical findings weigh more than Errors, Warnings are softened with a square-root curve and KPIs in Poor or Watch status subtract a little more. Info does not penalise.
- Health metrics
- Quantitative KPIs of the model (number of Revit warnings, in-place families, imported CAD, raster images, links, unpinned datums, sheets, etc.) with a Good, Watch or Poor traffic light. They are included in the HTML report.
- AI warning triage
- Optional: when a BIMIO Synapse AI provider is configured and ready, the scan ends by re-ranking the model's Revit warning types (critical, soon or ignorable), adjusting their severity and prefixing the reasoning to the recommendation. The footer then shows AI triage applied. Without a provider the step is silently skipped and the deterministic severities stand.
The interface
The window (titled BIMIO · Assay) is a single column, top to bottom: a header with the project name, the date of the last scan and a health badge; a row of five clickable KPI cards (CRITICAL, ERROR, WARNING, INFO and INVENTORY); a toolbar with the Issues / Inventory selector and the search box; a filter row of chips and drop-downs that changes with the active tab; the results table; and a footer with the navigation and export actions plus a status line.
Before the first scan the table area shows a welcome state (Audit this model) with its own Scan model button. While a scan runs, the same area shows the progress inline — current phase, a progress bar, the percentage and a Cancel button — so there is no separate pop-up window. The KPI cards are clickable: clicking a severity card isolates that severity in the table (and clicking it again restores all of them), and clicking INVENTORY switches to the Inventory tab. Each tab remembers its own search text and filters, so you can switch back and forth without losing the state of either.

Step-by-step workflows 7 workflows
Tick each step as you go — your progress is saved in this browser, so you can pick up where you left off.
1Run the model audit
5 steps
Goal. Scan the active model and obtain the list of issues, the inventory and the health score.
- Open the model you want to audit in Revit and go to the BIMIO tab.
- Click the Assay button in the QA / QC panel.The BIMIO · Assay window opens. The first time it shows the Audit this model welcome state; if it was already open, it comes back to the foreground with the results of the previous scan.
- Click Scan (blue button, bottom right) or Scan model in the welcome state.The table area switches to the inline progress: current phase, progress bar and percentage. The quick model health checks run first and the view-by-view sweeps (annotation text overlaps, graphics and overrides) last; the inventory closes the pass.
assets/shots/assay/fig-03.pngInline scan progress over the table area with the phase Scanning view 12/48, the bar at 40 per cent and the Cancel button. - Wait for the progress to finish.In large models the per-view sweep and the inventory can take several minutes. You can click Cancel at any time.
- Review the header and the KPI cards.The header shows the scan date and how many placed views were visited, and the health badge shows the score as NN / 100 with its traffic-light dot. The cards indicate how many issues there are per severity and how many items the inventory catalogues; the footer status line summarises the totals.
assets/shots/assay/fig-04.pngHeader with the health badge and the five KPI cards with their per-severity counters.
- The scan is read-only: Assay never touches the model, so you can run it with confidence on a workshared model.
- The per-view sweeps only visit views placed on sheets. If a working view does not appear in the results, it is because it is not on any sheet.
- If one specific check fails, the rest carry on: you will see an Info row with the text Scanner did not complete instead of losing the whole scan.
- The scan is remembered for the session: closing and reopening the window on the same model restores the results without re-scanning, so a long scan is never wasted.
- If a BIMIO Synapse AI provider is configured, the scan ends by re-ranking the Revit warnings and the footer shows AI triage applied; without a provider the step is skipped silently.
2Review and filter the detected issues
6 steps
Goal. Narrow the list of issues to focus on what matters: one severity, one area, one finding kind or a specific view.
- Make sure the toolbar selector is set to Issues.
- Click a severity KPI card (for example CRITICAL) to isolate that severity.The table shows only those issues and the severity chips update to match. Click the same card again to restore all four severities. You can also toggle the chips directly: each one shows its colour dot and its count.
- Narrow by area or by finding kind with the All areas and All kinds drop-downs.Each entry shows its count in brackets. Picking a value keeps only its rows; picking the All entry clears that facet. The drop-downs choose one value at a time.
- Narrow by view with the All views drop-down.Project-scope issues (with no associated view, such as Revit warnings) are not affected by this filter.
- Use the search box for free-text searches.It searches severity, kind, view, element, detail and ID, and also the finding title and the element's Revit category; the Area and Recommendation columns are not searched. The row counter inside the box indicates how many rows remain visible.
assets/shots/assay/fig-05.pngIssues table isolated to Critical severity with search text applied and the row counter visible in the search box. - Sort the table by clicking any column header, and click Clear filters to start over.A second click on a header reverses the order. You can also resize and reorder columns by dragging them. Clear filters resets the chips, the drop-downs and the search text.
- The Issues and Inventory filters are independent: you can switch between the two tabs without losing the state of either.
- The Count column groups repeated findings: for example, a Revit warning type that fires 340 times appears as a single row with its count.
3Locate an issue in the model and fix it
5 steps
Goal. Jump from a table row to the affected element in Revit to fix it.
- Double-click the issue's row.Revit selects the element (and its related element, if there is one, as in an overlap between two annotation texts) and zooms to it, opening a suitable view if it is not visible in the current one. Project-scope rows (for example a purgeable count) have no element to jump to.
assets/shots/assay/fig-06.pngRevit with the finding's element selected and framed after the double-click. - To act on several rows at once, select them in the table (Ctrl or Shift + click) and click Select in Revit in the footer.All the elements of the highlighted rows are selected in Revit, ready to pin, move to a workset or fix in bulk.
- Click Zoom to if you only want to frame the first of the selected elements.
- If you prefer to work with the ID, right-click the row and choose Copy element ID.The Issues table's context menu also offers Select in Revit and Zoom to. Copy element ID copies the IDs of all the selected rows separated by commas, ready to paste into Revit's Manage → Inquiry → Select by ID.
- Fix the issue in Revit following the Recommendation column and click Scan again to verify it.The results do not refresh on their own: they are a snapshot of the moment of the scan.
- If you deleted the element after the scan, double-clicking simply does nothing: Assay ignores IDs that no longer exist instead of raising an error.
- Views and sheets cannot be added to the Revit selection; for those, use double-click from the Inventory tab, which opens them directly.
4Browse the project inventory
6 steps
Goal. Explore everything the model contains (sheets, views, elements and annotations) and find out who created and who modified each item.
- Click Inventory in the toolbar selector (or click the INVENTORY card).The table switches to the catalogue and the filter row shows the inventory filters.
assets/shots/assay/fig-07.pngAssay window in the Inventory tab with the four kind chips, the authorship drop-downs and the table of catalogued items. - Choose which kinds to see with the four chips: Annotation, Model, Sheet and View.Each chip shows its count and toggles on or off with a click.
- Narrow by category with the All categories drop-down.To narrow by family or type, use the search box: it searches the Name column, which holds Family — Type for model elements.
- Filter by authorship with the All authors, All editors and All owners drop-downs.They only have values in workshared models. Author is who created the element, the editor (Last modified) is who last synchronised it and Owner is who currently owns it.
- Click the Orphans only chip to keep only the views that are not placed on any sheet.Click it again to include everything back.
- Double-click a sheet or a view to open it in Revit, or any other element to select it and zoom to it.
- The inventory excludes internal system categories (constraints, automatic sketch dimensions, materials, viewports and the like) so as not to clutter the list.
- Filtering by author is the quickest way to answer the classic question of who created all this in the model.
5Export the HTML report
4 steps
Goal. Generate a self-contained report to share the audit with the team or attach it to a delivery.
- With a scan loaded, click Export HTML in the footer.The button is enabled when the scan has found issues or inventory.
- Choose a folder and name in the save dialog and click Save.The suggested name is BIMIO_Assay_report.html.
- Open the file in any browser.It needs no internet access or auxiliary files: styles, charts and data are embedded in a single HTML file. It works on locked-down corporate networks and can be sent by email.
assets/shots/assay/fig-08.pngAssay HTML report open in a browser: health score ring, severity cards and filterable findings table. - Navigate the report's sections: Overview, Health metrics, Issues and Inventory.Overview includes the score with a narrative, a severity donut, rankings by area and by kind and an area × severity matrix. Issues is a table with search, filters by severity, area and kind, and column sorting; it also highlights the views with the most findings. Inventory only appears if there are catalogued items, with filters by kind, category and author and a checkbox to show orphans only. There is a global search and a light / dark theme toggle in the top bar.
- The report's tables render 600 rows per filter combination: if you see the first 600 notice, narrow with the filters to see the rest.
- In huge models the report embeds at most 25,000 inventory rows (it says so honestly as first N of M) so the file size does not balloon.
6Export the issues to CSV
3 steps
Goal. Take the issues list into Excel or a BIM issue log to assign and track them.
- With a scan that has found issues, click Export CSV.The button is only enabled if there is at least one issue (the CSV does not include the inventory).
- Choose a folder and name and click Save.The suggested name is BIMIO_Assay_issues.csv.
- Open the file in Excel.It is written in UTF-8 with BOM, so accented characters display correctly when you open it directly in Excel. One row per issue with the columns Severity, Category, Kind, View, RevitCategory, Element, Detail, Recommendation, Count, ElementId, RelatedElementId and Author, sorted from most to least severe.
- The ElementId column lets you locate each element in Revit again with Select by ID, even weeks after the scan (provided the element still exists).
7Cancel a scan and scan again
3 steps
Goal. Interrupt a long scan without closing Revit and repeat the audit when it suits you.
- During the scan, click Cancel in the inline progress.Cancellation waits for the current step to finish, so it can take a few seconds; the footer then reads Scan cancelled.
- Review the state of the window.A cancelled scan does not load partial results: the table keeps whatever there was from the previous scan, but exporting is no longer available until you complete a new one.
- To repeat the audit at any time, click Scan again.Each scan completely replaces the previous one; results do not accumulate.
- While a scan is running, the Scan, Select in Revit and Zoom to buttons are disabled to avoid crossed actions.
Options reference 13 options
| Option | What it does |
|---|---|
| Issues / Inventory selector | A segmented control in the toolbar (the active side is filled blue). Each tab keeps its filters and its search text separately. |
| Severity chips (Issues) | Four chips — Critical, Error, Warning, Info — each with a colour dot and its count. A click toggles that severity; the KPI cards drive the same filter in solo mode. |
| Issues drop-downs: All areas, All kinds, All views | Each drop-down lists the values present in the scan with their counts. Picking a value keeps only its rows; picking the All entry clears that facet. One value at a time per facet. |
| Inventory kind chips (Annotation / Model / Sheet / View) | Four chips with counts that switch each inventory item kind on or off. |
| Inventory drop-downs: All categories, All authors, All editors, All owners | Single-choice drop-downs over the values present in the catalogue. For family or type, use the search box. |
| Orphans only chip (Inventory) | Keeps only the views that are not placed on any sheet; click again to include everything back. |
| Clear filters | One per tab, at the end of the filter row (also offered inline when the filters exclude every row). Resets the chips, the drop-downs and the search text of the active tab. |
| Free-text search | The toolbar box with the hint Search view, element, detail, id… and the live row count inside it. Case-insensitive; each tab remembers its own text. In Issues it does not search the Area or Recommendation columns (it does search the rest, plus the finding title and the Revit category); in Inventory it covers every column except Orphan. |
| Clickable KPI cards | The severity cards isolate that severity in the table (click again to restore); the INVENTORY card switches to the Inventory tab. |
| Adjustable tables | Sorting by any column (click the header), and resizable, reorderable columns. |
| Export CSV | Exports only the issues list (not the inventory) to a UTF-8 CSV with BOM. Available when the scan has found at least one issue. |
| Export HTML | Exports the full report (summary, metrics, issues and inventory) to a single self-contained HTML file. Available when there are issues or inventory. |
| HTML report light / dark theme | The exported report includes its own theme toggle in the top bar, plus a global search and its own filters. |
What you get out
- Self-contained HTML report (BIMIO_Assay_report.html): health score with a narrative, charts by severity, area and kind, an area × severity matrix, KPI metrics with a traffic light, a filterable and sortable findings table, and an inventory table with authorship (up to 25,000 embedded rows). Works offline, with no external resources.
- Issues CSV (BIMIO_Assay_issues.csv): one row per finding with severity, area, kind, view, category, element, detail, recommendation, count and IDs, in UTF-8 with BOM for Excel.
- On screen: interactive issues and inventory tables, KPI cards and health badge, with direct navigation to the elements in Revit (selection, zoom and opening views).
- Element IDs copyable to the clipboard from the Issues table's context menu (comma-separated, ready for Revit's Select by ID).