QA Checker
QA Checker runs a suite of 23 automated checks against the active Revit document to identify common modeling and documentation issues. It helps teams catch problems before deliverables by flagging naming issues, missing templates, CAD imports, in-place families, link problems, MEP connectivity issues, and more in a single click. Results appear in a modeless window that stays open while you work, with one-click navigation to any flagged element, scope-aware runs, issue highlighting, saved presets, and HTML report export for documentation and handoff.
Getting Started
Section titled “Getting Started”Find QA Checker on the Amorphous ribbon tab in the Experimental panel.
The results window opens immediately with all 23 checks in a “not yet run” state. No checks run automatically, giving you the choice to run all checks at once, run only selected checks, or target just the ones you need.
Features
Section titled “Features”- 23 automated checks across views, sheets, model quality, MEP, links, project setup, and model health
- Category grouping with collapsible sections for Model Integrity, MEP, Views & Sheets, Links, Project Setup, and Informational
- Scope selector for Project, Active View, or Selection
- Run individually, selected, or all at once with per-check Run/Re-run buttons
- Model Health Summary with at-a-glance project statistics (views, sheets, warnings, links, rooms, families)
- Modeless results window that stays open while you work in Revit
- One-click element selection to jump to any flagged issue in the model
- Bulk selection of all issues per check (“Select All in Model”) or across all checks (“Select All Issues”)
- Issue highlighting with per-check Highlight/Clear actions plus global Highlight All and Clear Highlights
- Presets for saving, loading, deleting, and importing reusable QA configurations
- Search/filter to quickly narrow the check list
- Tolerance settings for duplicate detection, slope detection, and highlight transparency
- HTML report export with styled output for documentation, printing, and handoff
- Dark-themed UI with status badges, expandable check categories, and hover effects
How to Use
Section titled “How to Use”Basic Workflow
Section titled “Basic Workflow”- Open - Click the QA Checker button on the ribbon. The window opens instantly, owned by the Revit main window
- Choose scope - Select
Project,Active View, orSelectiondepending on how broad the review should be - Select checks - Leave everything enabled, uncheck specific checks, use category
all | none, search by name, or load a saved preset - Run checks - Click Run All to execute the full suite, Run Selected for only the checked items, or click Run on individual checks
- Review results - Checks with issues auto-expand to show each flagged item. Passed checks stay collapsed. Informational checks always expand
- Navigate to issues - Click Select on any individual issue to highlight it in the model. Click Select All in Model within a check category, or Select All Issues in the footer for every issue across all checks
- Highlight issues - Click Highlight on a check to apply red graphics overrides to all flagged elements in the active view, or use Highlight All for everything highlightable
- Fix and re-run - Make corrections in Revit, then click Re-run on individual checks or Run All again to verify fixes
- Export - Click Export Report in the footer to save the current results as an HTML file
Checks Performed
Section titled “Checks Performed”QA Checker includes checks organized into six categories. Each check can be run independently or as part of the full suite.
Views & Sheets
Section titled “Views & Sheets”| Check | What It Flags |
|---|---|
| Unnamed Views | Views with default or auto-generated names (e.g., “Section 1”, “3D View 2”, “Floor Plan 3”, “Copy of…”). Detects common Revit default naming patterns |
| Duplicate View Names | Multiple views sharing the same name, grouped by duplicates |
| View Template Compliance | Printable views (excluding sheets and schedules) without a view template assigned |
| Empty Sheets | Non-placeholder sheets with no placed views |
| Unplaced Views | Printable views not placed on any sheet (excludes sheets, schedules, and templates) |
| Duplicate Sheet Numbers | Sheets sharing the same number, which causes export and print collisions |
| Sheets Missing Title Block | Sheets without a title block family instance placed |
Unnamed Views
Section titled “Unnamed Views”This check uses pattern matching to detect views that still have Revit’s default auto-generated names. Common patterns include names like “Section 1”, “3D View 2”, “Floor Plan 3”, and names starting with “Copy of”. Views with default names indicate they have not been properly named for documentation.
Duplicate View Names
Section titled “Duplicate View Names”Groups all non-template views by name and flags any groups with more than one view. Duplicate view names make navigation confusing and can cause issues with view references on sheets.
View Template Compliance
Section titled “View Template Compliance”Scans all printable views (excluding sheets and schedules) and flags any that do not have a view template assigned. View templates ensure consistent graphic standards across the project.
Empty Sheets
Section titled “Empty Sheets”Checks all non-placeholder sheets for placed views. Sheets with no views placed on them may indicate incomplete documentation or leftover sheets that should be removed.
Unplaced Views
Section titled “Unplaced Views”Cross-references all printable views against views placed on sheets. Views that exist in the project but are not placed on any sheet may be unused or forgotten. Excludes sheets, schedules, and view templates from the check.
Duplicate Sheet Numbers
Section titled “Duplicate Sheet Numbers”Groups sheets by sheet number and flags any duplicates. Duplicate sheet numbers cause failures during PDF export, printing, and transmittal generation.
Sheets Missing Title Block
Section titled “Sheets Missing Title Block”Scans each sheet for a title block family instance. Sheets without title blocks will have no border, project information, or standard formatting when printed or exported.
Model Integrity
Section titled “Model Integrity”| Check | What It Flags |
|---|---|
| Room Issues | Unplaced rooms (no location in the model) or rooms with zero area (not properly enclosed) |
| In-Place Families | In-place families that should typically be converted to loadable families. Shows the family category |
| Duplicate Model Elements | Model elements of the same type with overlapping bounding boxes (potential duplicates). Only considers elements with solid geometry |
| Design Options | Design options still present in the model. Shows the option set name and whether the option is primary |
| Elements Far from Origin | Elements placed extremely far from the project origin, which can cause precision and performance issues. Shows distance in miles |
| Unhosted Elements | Face-hosted family instances without a valid host element |
| Orphaned Hosts | Elements whose host was deleted |
Room Issues
Section titled “Room Issues”Checks all rooms in the project for two conditions: rooms that are unplaced (have no location point in the model) and rooms that have zero area (not properly enclosed by bounding elements). Both conditions indicate rooms that need attention before area schedules or color fills will be accurate.
In-Place Families
Section titled “In-Place Families”Identifies all in-place family instances in the project. In-place families cannot be reused across projects, do not appear in the Family Editor, and can impact model performance. In most cases, they should be converted to loadable families. The check displays the category of each in-place family for context.
Duplicate Model Elements
Section titled “Duplicate Model Elements”Detects model elements of the same type that occupy the same physical space (overlapping bounding boxes). This check only considers elements with solid geometry volume and uses a configurable tolerance. Common causes include accidental copy-paste or mirroring operations.
Design Options
Section titled “Design Options”Lists all design options that remain in the project. Design options are useful during design exploration but should be resolved before documentation and deliverables. The check shows which option set each option belongs to and whether it is the primary option.
Elements Far from Origin
Section titled “Elements Far from Origin”Flags elements placed more than approximately 10 miles from the project origin. Elements at extreme distances from the origin can cause graphical glitches, precision errors, and performance degradation. The check reports the distance in miles for each flagged element.
Unhosted Elements
Section titled “Unhosted Elements”Finds face-hosted family instances that no longer have a valid host. These elements may appear in unexpected locations, fail to behave correctly, or indicate broken model relationships after edits.
Orphaned Hosts
Section titled “Orphaned Hosts”Flags hosted elements whose original host has been deleted and Revit now marks as orphaned. These should be reviewed and either rehosted or removed.
| Check | What It Flags |
|---|---|
| Unconnected MEP | MEP curve elements (pipes, ducts, conduits, cable trays, flex pipes, flex ducts) with open or unconnected connectors |
| Sloped MEP Elements | MEP curve elements that have a Z-axis difference between endpoints exceeding the slope threshold |
| Level MEP Elements | MEP curve elements that are perfectly level, useful for drainage slope verification |
Unconnected MEP
Section titled “Unconnected MEP”Checks supported MEP curve elements for open connectors that are not joined to another element. This helps catch broken runs, unfinished connections, and elements that were moved without reconnecting them.
Sloped MEP Elements
Section titled “Sloped MEP Elements”Identifies MEP curve elements whose endpoint Z difference exceeds the configured slope threshold. This is useful for spotting runs that are intentionally sloped, incorrectly sloped, or outside the expected threshold for the current review workflow.
Level MEP Elements
Section titled “Level MEP Elements”Finds MEP curve elements with no endpoint Z difference. This is especially useful when reviewing systems that are expected to slope, such as drainage, where a perfectly level run may indicate a mistake.
| Check | What It Flags |
|---|---|
| Unresolved Links | Linked files (Revit or CAD) with “Not Found” or “Unloaded” status. Shows the file path when available |
| Unpinned Linked Models | Linked Revit models that are not pinned and can be accidentally moved |
Unresolved Links
Section titled “Unresolved Links”Scans all external file references in the project and flags any with a “Not Found” or “Unloaded” status. Unresolved links indicate missing files that may have been moved, renamed, or deleted. The check displays the file path when available to help locate the missing file.
Unpinned Linked Models
Section titled “Unpinned Linked Models”Checks all Revit link instances for their pinned status. Unpinned links can be accidentally selected and moved, which shifts the entire linked model out of alignment. Pinning linked models is a standard best practice for coordination.
Project Setup
Section titled “Project Setup”| Check | What It Flags |
|---|---|
| Project Information | Key project fields that are blank: Project Name, Project Number, Client Name, Project Address, Building Name, and Author |
| Warnings Summary | All active project warnings, grouped by description with counts. Each warning group supports selecting all affected elements |
| CAD Imports | Imported (not linked) CAD files that bloat the model. Shows whether the import is in a specific view or in model space |
Project Information
Section titled “Project Information”Checks six key fields in the Project Information dialog: Project Name, Project Number, Client Name, Project Address, Building Name, and Author. Blank fields are flagged individually. Complete project information ensures title blocks, exports, and transmittals display correct data.
Warnings Summary
Section titled “Warnings Summary”Retrieves all active warnings in the project and groups them by warning description text, sorted by count (most frequent first). Each warning group shows how many instances of that warning exist. You can select all elements affected by a specific warning type to review and resolve them in bulk.
CAD Imports
Section titled “CAD Imports”Finds CAD files that have been imported rather than linked into the project. Imported CAD files become embedded in the model and increase file size significantly. The check distinguishes between imports placed in a specific view and imports placed in model space. Linked CAD files are not flagged by this check.
Informational
Section titled “Informational”| Check | What It Shows |
|---|---|
| Model Health Summary | Total views (excluding templates), sheets (excluding placeholders), warnings, linked models, rooms, and families |
Model Health Summary
Section titled “Model Health Summary”Provides an at-a-glance statistical overview of the project. This is an informational check with no pass/fail status. It always displays with a blue “INFO” badge and expands automatically. Use these numbers as a baseline to track project health over time or compare against project standards.
The scope selector controls which elements each scope-aware check evaluates:
| Scope | Behavior |
|---|---|
| Project | Checks all applicable elements in the document |
| Active View | Checks only elements visible in the current view |
| Selection | Checks only the currently selected elements |
Not every check supports scoping. Document-level checks such as Warnings Summary, Project Information, CAD Imports, Design Options, and Model Health Summary always run project-wide regardless of the selected scope.
Settings
Section titled “Settings”Configurable tolerances affect several checks and visual behaviors:
| Setting | Purpose |
|---|---|
| Duplicate Tolerance | Controls the bounding box comparison tolerance used by Duplicate Model Elements |
| Slope Threshold | Controls how much endpoint Z difference is required before a run is flagged by Sloped MEP Elements |
| Transparency | Controls the transparency used when issue highlighting overrides are applied |
Settings persist between sessions in %LocalAppData%\Amorphous\QAChecker\settings.json.
Presets
Section titled “Presets”Save the current QA configuration as a named preset to quickly recall it later:
- Save - Stores selected checks, scope, and tolerance values under a preset name
- Load - Restores a preset from the dropdown
- Delete - Removes a saved preset
- Import - Merges presets from an external file into the local preset list
Presets persist in %LocalAppData%\Amorphous\QAChecker\presets.json.
Results Window
Section titled “Results Window”The results window uses a dark theme with rounded corners and a draggable title bar. Press Escape to close the window at any time.
Summary Bar
Section titled “Summary Bar”The top summary bar shows the aggregate status across all checks:
| Indicator | Description |
|---|---|
| Total | Number of checks that have been run |
| Passed | Checks with no issues found |
| Issues | Checks with one or more flagged items |
| Not Run | Checks that have not been executed yet (if any) |
| Errors | Checks that encountered an error during execution (if any) |
The Run All button is always accessible in this bar, and the window also supports Run Selected based on the checkboxes in each panel.
Category Groups
Section titled “Category Groups”Checks are organized into collapsible category sections: Model Integrity, MEP, Views & Sheets, Links, Project Setup, and Informational. Each category group includes all | none links to quickly toggle check selection within that category.
Check Panels
Section titled “Check Panels”Each check is displayed as an expandable panel with the following elements:
| Element | Description |
|---|---|
| Status icon (left) | Circle for not run, checkmark for passed, dot for issues, warning triangle for errors, info icon for informational |
| Check name (center) | The name of the check |
| Checkbox | Includes or excludes the check from Run Selected |
| Run / Re-run button | Runs or re-runs only that specific check |
| Status badge (right) | Color-coded pill showing the result |
| Chevron (far right) | Rotates when expanded |
Status badge colors:
| Badge | Color | Meaning |
|---|---|---|
| --- | Gray | Not yet run |
| PASS | Green | No issues found |
| Count | Orange | Number of issues found |
| ERR | Red | Check encountered an error |
| INFO | Blue | Informational/statistics |
Checks with issues auto-expand to show the flagged items. Passed and not-yet-run checks stay collapsed. Informational checks always expand.
Issue Rows
Section titled “Issue Rows”Each issue row displays:
- The item name and detail text (with hover tooltips for truncated text)
- A Select link to highlight the element in the Revit model
- For warnings with multiple affected elements, the Select link selects all related elements at once
- When supported, per-check actions for Highlight and Clear to apply or remove graphics overrides in the active view
Footer
Section titled “Footer”| Button | Description |
|---|---|
| Export Report (left) | Opens a Save As dialog for HTML export |
| Select All Issues | Selects every flagged element across all checks. Only visible when there are issues to select |
| Highlight All | Applies graphics overrides to all highlightable issues across all checks |
| Clear Highlights | Removes overrides previously applied by the tool |
Export Report
Section titled “Export Report”Click Export Report in the footer to save the current results as a styled HTML file. The Save As dialog defaults to your Documents folder with a filename pattern of {ProjectName}_QA_Report_{date}.html.
The report includes:
- A header with the project name and generation timestamp
- A summary bar with total checks, passed count, issue count, and error count
- Each check that has been run, with status badges and issue tables
- Print-friendly styling with page-break-safe layout
- A “Generated by Amorphous QA Checker” footer
The report opens automatically in your default browser after saving.
Use Cases
Section titled “Use Cases”| Scenario | Recommended Approach |
|---|---|
| Pre-deliverable QA | Run all checks before issuing a model to catch naming issues, missing title blocks, unpinned links, unresolved references, and MEP coordination issues |
| Model cleanup | Focus on CAD Imports, In-Place Families, Duplicate Model Elements, Unhosted Elements, and Orphaned Hosts to identify items that should be removed, fixed, or converted |
| Warning triage | Run the Warnings Summary check to see all project warnings grouped by type with instance counts, then select affected elements for each group |
| Project setup verification | Run the Project Information check to ensure all key fields are filled in for title blocks and exports |
| View documentation audit | Run the Views & Sheets checks to find unnamed views, unplaced views, empty sheets, and missing title blocks before issuing sheets |
| Link coordination check | Run Unresolved Links and Unpinned Links before coordination meetings to verify all references are valid and properly pinned |
| MEP review | Run the MEP checks to spot open connectors, unintended slopes, and unexpectedly level runs |
| Ongoing model health monitoring | Export periodic HTML reports to track model health metrics over time and compare against project standards |
Tips & Best Practices
Section titled “Tips & Best Practices”- Start with Run All for a complete baseline, then use per-check Re-run buttons or Run Selected to verify specific fixes. Running all checks can take a while on large models with many elements
- Fix the most impactful issues first. The Warnings Summary shows counts per warning type, so start with the most frequent groups
- Use scope intentionally. Active View and Selection are useful when you are reviewing one area at a time instead of the whole project
- Save presets for repeatable workflows. A documentation preset, MEP preset, or coordination preset can save time across projects
- Use Select All in Model within a check category to see all related issues highlighted in the model at once, making it easier to spot patterns
- Use highlight tools while fixing. Highlight and Highlight All are useful for visually scanning issue clusters before cleanup
- Re-run checks incrementally. After fixing issues in one category, re-run just that check rather than running all again
- Export reports before milestones. Save HTML reports before deliverable deadlines to document the model’s QA status
- Pin all linked models. The Unpinned Links check catches links that can be accidentally moved. Pinning links is a quick fix that prevents coordination problems
- Clean up design options before documentation. Design options left in the model can cause confusion and increase file size
- Remove CAD imports when possible. Imported CAD files embed geometry into the model. Link CAD files instead, or remove them entirely if no longer needed
Limitations
Section titled “Limitations”| Limitation | Details |
|---|---|
| Active document only | Checks run against the active document only. Linked models are not checked internally |
| Warning descriptions from Revit | Warning descriptions come directly from Revit and cannot be customized or filtered |
| Element selection requires valid elements | Elements in closed worksets or deleted elements will be skipped during selection |
| Duplicate elements limit | The Duplicate Model Elements check reports up to 100 groups. Additional duplicates may exist |
| Far from origin limit | The Elements Far from Origin check reports up to 50 elements. Additional elements may exist |
| Duplicate detection tolerance | Duplicate Model Elements compares bounding boxes using the configured tolerance and only considers elements with solid geometry |
| Scope support varies by check | Document-level checks ignore Active View and Selection scope and always run project-wide |
| Fixed window size | The results window has a fixed size and is not resizable |
Troubleshooting
Section titled “Troubleshooting”Check shows “ERR” status
Section titled “Check shows “ERR” status”Possible causes:
- The check encountered an unexpected error during execution
- The model contains corrupt or unusual elements that the check cannot process
Solution: Individual check failures do not affect other checks. Try re-running the failed check. If the error persists, note which check is failing for troubleshooting.
”Select” does not highlight the element
Section titled “”Select” does not highlight the element”Possible causes:
- The element has been deleted since the check was run
- The element is in a closed workset
- The element is in a design option that is not active
Solution: Re-run the check to refresh the results. Ensure all relevant worksets are open.
Results seem outdated
Section titled “Results seem outdated”The results window does not auto-refresh when you make changes in Revit.
Solution: Click Re-run on individual checks, Run Selected, or Run All to refresh results after making model changes.
Selection scope did not stay limited
Section titled “Selection scope did not stay limited”Possible cause:
Selectionscope was chosen with no elements selected, so the tool fell back to a project-wide run
Solution: Select the target elements first, then run the check again.
HTML report does not open
Section titled “HTML report does not open”Possible causes:
- No default browser is configured
- The file path contains characters that the browser cannot handle
Solution: Navigate to the saved HTML file manually and open it in a browser. The default save location is your Documents folder.
Related Tools
Section titled “Related Tools”- Convert In-Place - Convert in-place families flagged by QA Checker into loadable families