We are working on a new initiative to reimagine Dynamo, making it simpler and smarter. We would love your help with evaluating some of our ideas and identifying more opportunities. Please take a moment to complete this short survey and share your thoughts: https://t.maze.co/345592926
If you encounter any issues with the survey or have additional feedback or ideas, please let us know!
[Update Feb.24th ] The survey has been closed. Thank you so much for everyone’s participation and feedback. Please feel free to continue the input and discussion in this post.
For me, priority number 0 would be to fix enough Cpython (or to remove it completely so natively R2023 and R2024 would use Ironpython with R2023.X.Y update). We will use R2023 and R2024 for years, it will take time that we come to R2025 with all active projects. So fixing CPython would be goal no 1.
It’s currently on the Package Manager as a package for “PythonNET3” as a new Engine, and will be made default in a future Dynamo 4.0 major release, as it’s technically a breaking change.
Regarding the poll above, it’s a stacked rank list of ~20 elements we could be exploring in the context of AI inside Dynamo so we would love you and others to click the link and give us your 2 cents!
Hello Sol, I did not know that pyhonnet is available trough Package Manager, I will test is as soon as possible. I did fill out the Survey and my honest opinion about introducing AI to Dynamo will not be beneficial for new user programing skills. Like with native nodes, they can do some tasks but at some point the user will need to step in Python (or C#) to push their complex tasks. If we have prompt engineers and something is not working I afraid that the user will just close the window and search for paid add-ins. Maybe I’m just getting older but if someone step into Dynamo I would expect that they start playing with data types, filters, if/else, element collection… With prompts we do not have all of that and the user do not need to know that.
Update:
Sol, I refer that the work should be pointed to the old Revit/Dynamo versions (Revit 2023 and R2024). I installed Pythonnet 3 as a package in Revit 2024 and uninstall every package that can cause dependences (including IronPython ofc) but the only engine that I can use is still CPython. Did I do something wrong, or you did talk about fixing CPython in future versions?
I know that in April/May we will have R2026, but AEC projects still live in R2023 especially in large companies.
99% sure that difference in .NET for Revit prevent this. That underlaying change enables quite a bit. You can make use of IronPython3 package as far back as 2022.
Unfortunately PythonNET3 is technologically gated to Dynamo 3.3 and above right now. As @jacob.small mentions, there is the IronPython3 package you can use for those older versions.
API to push packages on the Dynamo package server.
Once an API is exposed, a GitHub action could be created to automate the deployment during the CI/CD process.
Abstract node with Python interpreter that can be used to create custom explicit nodes running Python code under the hoods; this will help to encapsulate Python code into one library.
An explicit nodes toolkit. A little library that provides predefined explicit node templates, allowing these nodes to be created quickly.
This is only a note: the custom XML and JSON packages are easily prone to errors. On top of this, dependency incompatibilities make the development process not always straightforward.
These dlls are handy for Dynamo developers but are not exposed from an official Dynamo NugetPackage; it would be great if we could use them by a Nuget.
Thank you @SBI_N.Kovacevic_BIM for filling out the survey and the feedback! We appreciate the concern about the benefit to newer users and will keep that in mind for sure. Interacting with Dynamo with prompts is just one of the ideas, there are some other ideas such as autocomplete suggestions, human-readable warnings, graph reader (for helping users understand a graph), and also Python assistant, etc. We hope those can help newer users get started.
I do tend to agree with your concern but I don’t think it should prevent us from adding new features that can genuinely help users when used properly. There will always be individuals who want the fast and easy route without any real investment. The ones who are willing to invest time and effort to actually learn the basics and improve their understanding can still benefit from both AI-assisted content generation and AI-assisted troubleshooting. I expect we’ll see an increase in both crowds with the introduction of AI features, but it’s a net gain in my opinion.
I would add to what others have said that if you are deploying anything at scale it MUST be QA-ed and understood, even more so when you get into Cyber security credentials of your company.
This is why fully understanding the workings is a must to certify your application/code is clean(eg not implemented a vulnerability/virus into your companies network). This can happen if any bad actor gets code widely used and I have seen it in some python modules on PyPI including open sourced ones.
Just something to watch out for when pushing for anyone to use AI instead of understanding it them selfs
Bold assumption that such credentials or departments exist at this point. Sadly the “we use IronPython2 exclusively” crowd seems to be growing of late, which is alarming. At this point it feels like one bad actor could cause 90% of all large AEC offices to go dark overnight…
This would be nice in theory, but if you have tried any AI models, you will quickly see that it often comes down to “2 minutes of coding and 2 days of debugging.” So, I would not recommend pointing new users in that direction.
Regarding any skill, I assume you could be a professional runner without knowing how to tie your shoes, but I believe it’s beneficial to know how to tie them because you will need to use shoes with laces.
I just want to say that I think Dynamo is very simple to learn, and learning the basics is not terrifying. If a user gets stuck, he or she will have more tools and ideas for solving problems compared to being a “prompt engineer.”
Anyway, I would be glad to help with testing new tools and features.
I generally agree, but AI can also be very helpful for new users who use it properly - people just need to be trained on what that means. Obviously someone with no experience trying to get AI to write a complex script for them is going to have a horrible time if they don’t also learn the basics at the same time, but that’s their right to make things harder on themselves. I just don’t see that as a reason to limit all the users who could really benefit from it.
I think it’s important to distinguish what is meant by AI.
Broad function AI for complete graph generation isn’t likely functional any time soon. However there are already narrow scope AI tools in the product. Have you tried node autocomplete? This is an example of the sort of ‘narrow scope’ AI which I am refer to, and it’s exceptionally useful when starting with a new Dynamo integration or for new users.
I think Dynamo is excellent generally, but within a practice context, it’s useless unless you’re an advanced user. I’ve moved across to just writing addins because any Dynamo script I create for office use is always broken because of updates to Revit, Dynamo, Packages, other Addins etc.
As soon as an inexperienced user gets errors and warnings, it’s over - a shame because Dynamo is an excellent teaching tool to introduce people to a more programmatic way of using Revit.
I would argue the current OOTB nodes allow any casual to get about 80% of the benefit with 20% of the effort - which is perfect. I agree for more advanced users, there’s heaps of extra clever things that could happen, but I think getting fundamental stability sorted (and maybe better search, navigation not based on namespaces but how people might intuitively build a graph) should be top priority.
I haven’t used Grasshopper in ages, but all the current students are fine with Grasshopper, but they don’t transition to Dynamo at all.
Jacob, I did not want to be negative about the suggestion. I just think that there are more fields to address before automation. I did try autocomplete to test the feature, but nowadays I know which nodes I need. If I want to check the packages library, I use the Monacle search option to see what is available. From there, I use nodes (if there is something that I can use as a base, extract Python, and adapt to my needs).
Overall, thank you and Sol for your hard work. I hope to meet you in Amsterdam. Regarding new features, if you think they will influence the growing user base and improve their experience, I support the decision.
“Would like nested graph / easier way to copy and paste graph” - We introduced the Insert graph into workspace feature from 2.17 Dynamo Core 2.17 Release - Dynamo BIM