How to manage dynamo code for multiple version of Revit?

Hi all,

I work for an interiors firm doing hotel projects. I’m interested in bringing dynamo into our workflow but I’m worried about the level of difficulty involved in maintaining dynamo code for multiple version of Revit. Being an interiors firm we always must use the version of Revit dictated by the architect, so we always have all recent versions of Revit installed on our machines.

I’m a fairly experienced C# coder and I know what it takes to multi-target and deploy multiple version of a Revit add-in using Visual Studio, and I’m really hoping Dynamo might be easier! If I start this project, I want to make sure I’m writing stuff in a way that can work for all versions.

Does anyone have any info on this topic or know where there is some? I’ve done a Google search and looked at the primer and nothing specific came up. Much appreciated!

James

The specifics of building Dynamo graphs for use across versions will vary by type of graph and how you develop them.

If you are building graphs, things are generally forward cokpatible with minimal effort. Just build in the oldest version you support and upgrade sequentially and save the updated version if/when you need to make a change.

If using packaged custom nodes, you will need to make sure that your environment is set up to refer to the packages which support that version of Dynamo and - sort of like referring to the right .net version when building an add-in.

If scripting with Python or DesignScript, build in the oldest version first, and test in subsequent builds adding if statements to pull the right definition or methods as your upgraded versions fail. Alternatively you can package the python in a custom node and deploy different package versions to the Revit builds as needed.

If building zero touch nodes, the effort is basically the same as Python, but package the code for each Revit build. This is the most difficult to build, but the most robust for end users leveraging the nodes.

Good info. Thank you!