forked from jappel/leistungsbilanz-ts
69 lines
2.7 KiB
Markdown
69 lines
2.7 KiB
Markdown
# Revit 2026 / Dynamo diagnostics
|
|
|
|
This directory contains self-contained Python scripts for a Dynamo **Python
|
|
Script** node. They use only Dynamo's built-in Revit integration, the Revit API
|
|
and the Python standard library. No Dynamo package is required.
|
|
|
|
The scripts are read-only. They do not start a Revit transaction and do not
|
|
change the open model.
|
|
|
|
## Python engine
|
|
|
|
Use the built-in `CPython3` engine in Revit 2026. Autodesk ships Dynamo with
|
|
Revit; optional PythonNet3 packages are not required by these diagnostics.
|
|
|
|
## 01 - Check model identity
|
|
|
|
File: `01_check_model_identity.py`
|
|
|
|
The script reports:
|
|
|
|
- Revit, Dynamo and Python versions;
|
|
- `ProjectInformation.UniqueId` as a native model-identity candidate;
|
|
- all occurrences and values of `LB_ModelId` and `LB_ProjectId` on Project
|
|
Information;
|
|
- all Project Information parameters;
|
|
- optional cloud/worksharing identity information when the API exposes it.
|
|
|
|
Input `IN[0]` is optional. It may be either an output directory or a complete
|
|
`.json` file path. With no input, the report is written below the current
|
|
Windows temporary directory in `leistungsbilanz-dynamo`.
|
|
|
|
## 02 - Inventory Electrical Fixtures parameters
|
|
|
|
File: `02_export_electrical_fixture_parameter_inventory.py`
|
|
|
|
The script reads every instance of
|
|
`BuiltInCategory.OST_ElectricalFixtures` in the complete current document. It
|
|
exports:
|
|
|
|
- element, family, type and MEP Space identities;
|
|
- every instance parameter and value;
|
|
- every unique family-type parameter and value;
|
|
- an aggregated parameter inventory with occurrence counts and sample values;
|
|
- per-element warnings instead of aborting at the first unreadable element.
|
|
|
|
Inputs:
|
|
|
|
- `IN[0]` (optional): output directory or complete `.json` path;
|
|
- `IN[1]` (optional): include empty parameters, default `true`;
|
|
- `IN[2]` (optional): maximum sample values per aggregated parameter, default
|
|
`5`.
|
|
|
|
The default output location is again the Windows temporary directory. The
|
|
generated report can contain model paths and project-specific parameter values;
|
|
review it before sharing or committing it.
|
|
|
|
## Running a script
|
|
|
|
1. Open the target model in Revit 2026.
|
|
2. Open Dynamo from **Manage > Visual Programming > Dynamo**.
|
|
3. Create a graph and add a **Python Script** node.
|
|
4. Select the `CPython3` engine for the node.
|
|
5. Copy the complete content of the desired `.py` file into the node.
|
|
6. Optionally connect a String node containing the output path to `IN[0]`.
|
|
7. Run the graph and inspect `OUT` for status, counts and the generated path.
|
|
|
|
For the first test, run `01_check_model_identity.py` in the Revit main model.
|
|
Then run the parameter inventory. Keep both generated JSON files so their
|
|
structure can be checked before the production snapshot DTO is finalized.
|