Generates a structured JSON report of Revit elements in the active document. Engineers and architects can configure what elements to include, which parameters to extract, and whether to include simplified geometry and system information. The output is a readable file suitable for comparison, review, and downstream analysis.
- Save Report: File location where the JSON report will be saved. Choose a path and filename. Accepted formats include
.json. Default is empty (must be provided).
- Element Level: Controls whether the report includes element Instances or Types.
- Options:
Instance or Type.
- Filter: Defines which elements to include from the active document. Uses Revit’s element collector.
- Notes: Uses active document; multiple documents are not allowed.
- Fields: A list of pairs mapping
ParameterName to a user-friendly DisplayName.
- Example:
{ "Width": "Element Width", "Height": "Element Height" }. These parameters are read and added to the report.
- Get Geometry: When enabled, includes simplified geometry data for each element: X, Y, Z, Rotation, and Volume. Geometry is reported in Revit’s internal units (feet) but is rounded to your tolerance settings for stability.
- Geometry Tolerance: Tolerance in millimeters used to round geometry values (X, Y, Z, Volume). Helps avoid small changes being flagged in comparisons.
- Default:
10 mm (converted internally to feet).
- Angular Tolerance: Tolerance in degrees used to round rotation values.
- Default:
1.0° (converted internally to radians).
- Get Systems: When enabled, includes Revit MEP system ownership IDs for applicable elements (e.g., connectors, curves).
When you run the extension, it:
- Validates the active Revit document, element filter, and selected fields.
- Collects elements based on the
Filter and Element Level settings.
- For each element, it records:
- ID, Unique ID, and Category name.
- Selected parameters and their values (using your
Fields mapping).
- Optional simplified geometry: X, Y, Z (location vector or point), Rotation, and Volume. These values are rounded using your length and angle tolerances to reduce noise.
- Optional system IDs for relevant MEP elements.
- Compiles all data into a single JSON file and saves it to
Save Report.
- Open the Revit model and ensure the desired view/context is active.
- Configure inputs:
- Set
Save Report to a valid path (e.g., C:\Reports\elements.json).
- Choose
Element Level (Instance or Type).
- Set a
Filter to target the elements you care about (e.g., walls, floors, ducts).
- Add
Fields with parameter names and display names.
- Toggle
Get Geometry and Get Systems as needed.
- Adjust
Geometry Tolerance (mm) and Angular Tolerance (°) to control rounding.
- Run the extension. It will process elements and save the report.
- Verify the result: Open the JSON file and check that elements, parameters, and optional geometry/system data appear as expected.
Screenshots or short GIFs can be added to show:
- Setting up
Fields and Filter inputs.
- Example of a generated JSON report.
- Comparison of reports with different tolerance settings.
- Causes: Revit has no document open or no active UI document.
- Solution: Open a model and ensure a view is active, then run again.
- Resources: Revit user guide on working with documents and views.
- Causes: Required inputs were left unset.
- Solution: Provide a
Filter and at least one Field mapping.
- Resources: Revit API basics on
FilteredElementCollector and parameters.
- Causes: Invalid path, insufficient file permissions, or a locked file.
- Solution: Choose a valid, writable path. Close any application holding the file.
- Causes: Rounding tolerance too small for your model scale.
- Solution: Increase
Geometry Tolerance (mm) or Angular Tolerance (°) to snap values more coarsely.
- Q: What units are used in the report?
- A: Revit’s internal units are feet. Geometry values (X, Y, Z, Volume) are rounded using your
Geometry Tolerance (mm converted to feet). Rotation is rounded using your Angular Tolerance (degrees converted to radians).
- Q: Can I include custom parameters?
- A: Yes. Add parameter names in
Fields with a user-friendly display name. The extension looks up those parameter values per element.
- Q: How do tolerances affect comparisons?
- A: Values are snapped to the nearest tolerance increment, helping you avoid flagging insignificant changes between runs.
- Version 0.2.0 - [2025-12-15]
- Initial extension release
- Element collection with parameter mapping
- Optional geometry and MEP system data
- Tolerance-based rounding for linear values, rotation, and volume
This documentation was generated based on the extension's code structure.