Model Diff Audit
Model Diff Audit captures model data into SQLite snapshot files and compares snapshots to find differences between Revit sources. It is built for binding reviews, upgrade checks, and model audits where you need repeatable outputs instead of a one-off visual review.
Getting Started
Section titled “Getting Started”Find Model Diff Audit on the Amorphous ribbon tab in the Experimental panel.
The tool has two main workflows:
- Capture - Creates SQLite snapshot databases from selected Revit sources
- Compare - Compares one reference snapshot against one or more comparison snapshots
Features
Section titled “Features”- Multiple source types - Capture the active host, loaded links, open project documents, or RVT files from disk
- Host-coordinate link capture - Captures linked elements transformed into host coordinates for binding review
- Workset-scoped capture - Keep all worksets or capture only selected worksets for workshared live sources
- Review profiles - Use Binding Review or Upgrade Review capture profiles
- Snapshot metadata - Stores source, profile, and workset scope details in the snapshot
- SQLite outputs - Saves neutral snapshot and diff databases for repeatable audit workflows
- Data Navigator CSVs - Writes CSV outputs that can be opened in Data Navigator
- Run status panel - Shows queued, working, completed, and failed output rows while a run is active
- Browse memory - Remembers recent capture, compare, output, and selected RVT folders
How to Use
Section titled “How to Use”Capture Workflow
Section titled “Capture Workflow”- Open Model Diff Audit
- Choose the Capture tab
- Add one or more sources to the selected-source list
- Pick a capture profile
- Choose the capture scope and workset scope
- Choose an output folder
- Click Capture
- Review the output rows and open the output folder
Compare Workflow
Section titled “Compare Workflow”- Switch to the Compare tab
- Choose the Reference snapshot
- Add one or more Compare To snapshots
- Choose an output folder
- Click Compare
- Review the diff outputs
- Open the CSV output in Data Navigator when you need to jump back into Revit
Capture
Section titled “Capture”Capture creates snapshot databases from selected model sources.
Supported Sources
Section titled “Supported Sources”| Source | What It Captures |
|---|---|
| Active host document | The currently active Revit model |
| Loaded Revit links | Linked model elements transformed into host coordinates |
| Open project documents | Other project documents open in the current Revit session |
| RVT files from disk | Selected Revit project files opened for capture |
Selected Sources
Section titled “Selected Sources”The selected-source list keeps all sources in one place. Add only the sources you want in the current snapshot run, then remove anything that should not be captured.
Capture Profiles
Section titled “Capture Profiles”| Profile | Use It For |
|---|---|
| Binding Review | Host/link review using identity, placement, bounding box, geometry signature, workset, phase, and design option fields |
| Upgrade Review | Upgrade checks that include the Binding Review fields plus instance and type parameter rows |
For workshared live sources, choose whether to capture all worksets or only selected worksets. Workset scope is stored in snapshot metadata and included in output file names.
Compare
Section titled “Compare”Compare checks one reference snapshot against one or more comparison snapshots.
| Term | Meaning |
|---|---|
| Reference | The baseline snapshot |
| Compare To | The snapshot or snapshots checked against the reference |
Binding review outputs use source_* and host_* fields. Generic snapshot and upgrade-style outputs use reference_* and comparison_* fields.
User Interface
Section titled “User Interface”Main Window
Section titled “Main Window”| Area | Description |
|---|---|
| Capture tab | Builds snapshot databases from selected Revit sources |
| Compare tab | Compares one reference snapshot against comparison snapshots |
| Selected-source list | Shows the models included in the capture run |
| Output rows | Shows queued, working, OK, and failed records while a run is active |
| Results panel | Summarizes success, partial failure, or failure after a run |
| Open Folder | Opens the output location for the latest run |
| Back to Setup | Returns to the setup controls after reviewing results |
Run Results
Section titled “Run Results”The results panel is the handoff point after a capture or compare run. It lists output files, shows any failure details, and keeps the next action visible.
Outputs
Section titled “Outputs”Model Diff Audit writes:
- Snapshot SQLite databases with
snapshot_meta,elements, andelement_parameterstables - Diff SQLite databases with
diff_metaanddiff_results - CSV diff outputs designed to load into Data Navigator
- Run records that summarize success, partial failure, or failure
Workset-scoped snapshots include workset scope details in the metadata and output file name.
Options & Settings
Section titled “Options & Settings”| Option | Description | Default |
|---|---|---|
| Source list | Selected host, link, open document, or RVT file sources | Empty |
| Capture profile | Binding Review or Upgrade Review | Binding Review |
| Workset scope | All worksets or selected worksets for workshared live sources | All worksets |
| Reference snapshot | Baseline snapshot for compare runs | Selected by user |
| Compare To snapshots | One or more snapshots checked against the reference | Selected by user |
| Output folder | Where snapshot and diff files are written | Last used |
Use Cases
Section titled “Use Cases”| Scenario | Recommended Approach |
|---|---|
| Binding review | Capture a link and host source, then compare placement and identity fields |
| Upgrade review | Capture before and after snapshots with the Upgrade Review profile |
| Workset-limited audit | Capture only selected worksets to keep the review focused |
| Data Navigator follow-up | Open the CSV diff output in Data Navigator to jump back to affected elements |
| Milestone record | Capture a dated snapshot before issuing or upgrading a model |
Tips & Best Practices
Section titled “Tips & Best Practices”- Name output folders by date or milestone so snapshots can be found later
- Capture before and after a major model operation such as upgrade, binding, or coordination cleanup
- Use workset scope when a focused audit is enough and a full-model snapshot would be noisy
- Keep CSV outputs with the SQLite outputs so Data Navigator review can be repeated
- Review partial failures before relying on the output. A run can produce useful files even when one source fails
Limitations
Section titled “Limitations”| Limitation | Details |
|---|---|
| Labs workflow | Behavior and output schema may evolve while the tool remains experimental |
| Profile scope | Full Diagnostic is not exposed because it does not yet differ from Upgrade Review |
| Compare mode selection | Compare mode is inferred today; explicit user selection is planned |
| Model availability | Live sources must be open or accessible when capture runs |
| Large model size | Snapshot and compare time depends on model size, selected sources, and profile detail |
Troubleshooting
Section titled “Troubleshooting”A source fails during capture
Section titled “A source fails during capture”Possible causes:
- The RVT file cannot be opened by the current Revit version
- The link is unloaded or unavailable
- The source document changed while the run was active
Solution: Review the failure details in the results panel, fix the source availability, and run capture again.
Compare output is not what you expected
Section titled “Compare output is not what you expected”Possible causes:
- The wrong snapshot is set as Reference
- The snapshots were captured with different profiles
- A source was captured with a different workset scope
Solution: Confirm the Reference and Compare To files, then check the snapshot metadata and file names for profile and workset scope.
Data Navigator does not resolve CSV rows
Section titled “Data Navigator does not resolve CSV rows”Possible causes:
- The source model or link is not open
- The CSV is being resolved against the wrong host or link
Solution: Open the relevant Revit source, then use the correct Data Navigator profile and target mapping.
Related Tools
Section titled “Related Tools”- Data Navigator - Open diff CSV outputs and navigate to affected elements
- Element Data Manager - Export selected element parameters for reporting
- Copy From Link - Copy selected linked elements into the host model