Revit 2025 and Old Dynamo Routines

I have the following:

My old Dynamo scripts appear not to work, which if cannot be resolved is heartbreaking and a true issue.

Any thoughts on how this can be resolved woul dbe much appreciated.

What happens when you hit Install Specified Version?

Possible to drop the log here?

Best practice here is to update your IronPython2 scripts for CPython3. Most will update without issue.

If the Python is in a package, updating to a new package without an IronPython2 dependency would be the best path forward.

If you and your company doesn’t want to bother and don’t mind running software which hasn’t been patched since early 2020 (IronPython2) then you can install the right IronPython version for your Dynamo version. Read the package details closely.

If l install the suggested, shall it compromise the current installation?

Some of what you state is confusing, however l shall explore tomorrow and respond here accordingly.

But to add to this, understand a handful of packages actually tick this box.

To my knowledge it’s rhythm, bimorph, data shapes, genius loci, archilab and crumple that I am aware of - I’m sure there’s more. Unsure about clockwork.

Rule of thumb is ignore any package older than 1 or 2 years now given cp3 wasn’t a big thing until then for package devs I guess.

Hi Gavin,

Here is what l understand is an OTB node, yet has an issue. Any thoughts?

Dynamo is great until your scripts don’t work :frowning:

A ridiculous amount of issues, which l have no obvious clue how to resolve…

General rule of thumb is follow the errors back until you find where it fails. Can’t see what errors your nodes give so hard to say based on the screenshots.

My guess is that either you are feeding nulls in or asking for a higher index then your list(s) have available. Both would trigger an error. Passing on nulls will generally just make more downstream errors also.

As Gavin mentioned warnings will be consistently passed down the full length of the stream. So if Element.GetLocation fails the Point.Z will also fail - the exact situation shown in the pink and green groups in your second post.

Since Element.Host doesn’t show a warning but the code block does I’m guessing that Element.Host is returning ‘null’ but without throwing a warning as that’s by design. This leads me to think that the initial Element being provided to both groups isn’t valid, so start there.

2 Likes

I have to cater for clients who run different Revit versions, ranging from 2022 to 2025.

I therefore require access to routines which appear to conflict with varying Dynamo.

Below l am having an issue with a working script for 2025, but has issues with 2022…any thoughts much appreciated…I assume uninstalling and replacing current version shall impact 2025…any thoughts appreciated.

You can’t load the same Python engine into old and new builds. You need to setup different Dynamo graphs for each Revit version, and ‘use the installed version’ once you configure it.

Version your .dyns just like you do your .rfa, .rft, .rte and .rvt files.

Ok. Thank you for that great tip, l shall do that.

One thing…it suggest that DynamoIronPython2.7 3.2.1 shall be uninstalled, if l create a new script variant shall it uninstall that Dynamo…and therefore not work for 2025 for example?

Don’t uninstall it.

Your Python engines are part of your Dynamo environment. Each environment (way to launch Dynamo) has it’s own set of packages.

The Dynamo graph has a section that knows what version of each package was used when the graph was written. The warning about ‘different versions’ is telling you ‘this was written for an environment that used package version X, which means this might not work for you so test carefully.’

So the process to work with many versions should be:

  1. Configure your standard packages in 2022.

  2. Get the list of packages installed in 2022, and find and install the versions for Revit 2023, 2024, and 2025.

  3. Write a graph for 2022 and confirm it runs perfectly. Save it and close the file.

  4. Do a save as and open up the 2022 graph in your 2023 environment. Take note of any packages noted as ‘not being the same version’, as they might differ in some way from 2022. Update the graph as needed for 2023 so it runs perfectly again. Save it and close the file.

  5. Do a save as and open up the 2023 graph in your 2024 environment. Take note of any packages noted as ‘not being the same version’, as they might differ in some way from 2023. Update the graph as needed for 2024 so it runs perfectly again. Save it and close the file.

  6. Do a save as and open up the 2024 graph in your 2025 environment. Take note of any packages noted as ‘not being the same version’, as they might differ in some way from 2024. Update the graph as needed for 2025 so it runs perfectly again. Save it and close the file.

  7. Deploy the saved graphs for 2022 to 2025 to production, and move onto the next graph you need to scale.

1 Like