I’m not much of a complainer by nature, but it is Friday afternoon, almost 30 degrees Celsius outside and I face several issues with Dynamo 3.2 and Civil 3D 2025.1 Dynamo… So let me throw a couple of complaints here.
Unfortunately users can’t make a choice which Dynamo version they want to run. If you install 2025.1 you get Dynamo 3.2. On the other hand, this way it is certain that users always use the latest version of Dynamo. But from a software development and continuity perspective, it is really bad to also change the API. Not only between 2024 to 2025 (which is at least a bit explainable), but it is extremely bad if it happens between 2025.0 and 2025.1!
What happened? Well, my package ‘Arkance Systems Node Library’, but also Camber and C3DToolkit, use dot NET Framework 4.8. For Civil 3D 2025 they actually should have been upgraded to run with dot NET 8. Happily these three packages also worked in Civil 3D 2025, regardless of the .NET version. That was great, so we didn’t have to feel any stress, or think about version numbering (would the package become an update or a new package because an updated version wouldn’t work in 2024 anymore).
But now with the 2025.1, functions in the API are suddenly deleted, and others are renamed! For example, the Autodesk.Civil.DynamoNodes.GridSurface does not exist anymore. And the Autodesk.AutoCAD.DynamoNodes.Document.Layers is named Autodesk.AutoCAD.DynamoNodes.Document.LayerNames now. Just two examples to make clear the issues I face here, because now my package, but also the C3DToolkit, won’t get loaded in Dynamo anymore.
I am pretty sure the 2025.1 update has killed more packages.
I can understand that there must be some improvements, and LayerNames is symantically better than Layers, if strings are returned. But it is a horror when such changes are done in a .1 update instead of a new year release.
Probably someone would think: “Hey, then you open your code, make some changes and there you go!” Would that be so easy…
Now I am forced to build a new package, and somehow restrict that to 2025.1 (but I can’t prevent that someone will install the package in an older Civil 3D). And how will scripts be backwards compatible? Maybe someone has a reason to work in 2024, or stick with 2025.0. They can’t exchange graphs anymore, and it is really hard to explain why that is, not every user is aware of the details of different versions.
So please. Don’t remove API functions, don’t rename them, and don’t change their signature in a Civil 3D .1 or .2 update! There are also other ways, like mark functions as depricated and add new ones next to them. There wasn’t much development in Dynamo for several years, couldn’t Autodesk have waited a while until Civil 3D 2026.0? Or is adding hundreds of nodes to the core at the same time a discouragement to support custom packages anymore?
Thanks for listening and sorry for the grumpy tone. After the weekend I will be fine, I promise…