leistungsbilanz-ts/dynamo
2026-08-23 23:13:35 +02:00
..
01_check_model_identity.py Add Revit Dynamo diagnostic scripts 2026-08-23 23:13:35 +02:00
02_export_electrical_fixture_parameter_inventory.py Add Revit Dynamo diagnostic scripts 2026-08-23 23:13:35 +02:00
README.md Add Revit Dynamo diagnostic scripts 2026-08-23 23:13:35 +02:00

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.