Hi everyone,
I am encountering a critical workflow issue when trying to run Dynamo scripts via pyRevit pushbuttons in Revit 2025, and I’m wondering if anyone else has faced this or found a solution.
My Environment:
-
Revit 2025 (Dynamo 3.0 / .NET 8)
-
pyRevit 6.x (latest version)
The Core Issue: In Revit 2024 and earlier versions (using pyRevit 4.8), I could successfully trigger a Dynamo script saved in Manual execution mode using a pyRevit pushbutton. The script would execute smoothly in the background.
However, in Revit 2025, this behavior is broken. When I click the pyRevit button, the Dynamo script (set to Manual) simply does not execute at all. It seems pyRevit can no longer force the graph to evaluate in the new Dynamo 3.0 headless environment.
The Workaround and The “Infinite Loop” Catch: I discovered that if I save the Dynamo script in Automatic mode, pyRevit in R2025 successfully triggers it.
But here is the major catch: my script contains custom UIs (a WPF form built with Python or Data-Shapes package). Because the graph is running in Automatic mode, as soon as the user clicks “OK” on the UI and the script modifies the Revit model (e.g., setting revisions on sheets), Dynamo detects the document change and automatically re-evaluates the entire graph. This instantly triggers the Python/Datashape’s node again, popping up the UI endlessly in an infinite loop, forcing me to kill Revit via Task Manager.
My Questions for the Community:
-
Is the inability to run
ManualDynamo scripts via pyRevit in Revit 2025 a known limitation due to the new .NET 8 / Dynamo 3.0 API changes? -
Are there any known workarounds or specific pyRevit
bundle.yamlconfigurations to force a Manual evaluation in Revit 2025?
Right now, using Dynamo scripts with custom UIs through pyRevit seems impossible in R2025. Any insights, explanations, or workarounds would be greatly appreciated!
Thank you!
