When tackling automation in Revit, the question will inevitably come up: Dynamo or custom plug-ins? I hate to say it, but the answer is unique to every firm. However, I will explain some of the challenges we have faced, the path we took, the path we are now on, and some pros and cons of the options. This topic will be tackled in four parts, check back August 2nd for Dynamo Part Two and next week for the angle on custom plug-ins.
The wonderful aspect of Dynamo that we all love is that it is made for designers. It brings programming tools to those who don’t code. This allows for powerful customizations to your workflow. One of my favorite aspects of Dynamo is the community. It is excellent. There is a huge pool of user-created content that you can incorporate. There is also a large selection of resources that walk you through creating common scripts. Finally, if you’re still stuck, you can hit the forums and delightful people will help you solve your problem.
My thought is that if there is a tedious task that I don’t enjoy doing, chances are many others don’t enjoy it as well, so let’s make a script to do it for you. Keep in mind that creating scripts that you use yourself is entirely different than deciding to deploy the use of scripts firm-wide. There are some benefits and drawbacks of using scripts firm-wide.
If you are planning to use Dynamo scripts are your firm, or are already using them, you know you need an interface. Most people use Dynamo Player as the initial interface that the staff interacts with. We know that Dynamo Player is not perfect, however, it will reduce many headaches.
The benefit of Dynamo Player is that it allows people in your company to use scripts by only hitting the play button. No one needs to open the scripts. No one can go rogue and disconnect and reconnect nodes. However, your interface doesn’t stop there. A great tip from Sarah Garthaus and John Cook at IMEG is that once users hit play, it is important to provide a clean user interface for any required inputs as well as provide positive feedback when the script has run successfully . Frequently, this is achieved in the form of memes and gifs. Glitter is always a plus.
Although you can do a lot with Dynamo out of the box (OOTB), you can do so much more with packages. Packages are open source nodes for Dynamo that are created by users. This opens up so many doors to those who don’t code but want extended access to the Revit API beyond the OOTB nodes.
Don’t get me wrong, the community is excellent. One aspect that you do need to keep in mind is that packages are open-source content. There is no guarantee that the creator will update them. They may discontinue nodes that your scripts are dependent on. They may change the way nodes function which also has an impact on your scripts. That’s the deal with open-source content. The creators are talented, generous people who are looking out for the greater good, and they can choose to stop supporting the open-source content. If you are implementing scripts in a firm, and you have people depending on them to get their work done, you need to understand the risks. It takes time to find out what changed when packages get updated. It takes time to manage packages. It takes time to install packages. It takes time to update packages. The bottom line: have a plan for packages.
BTW: If you have a package you enjoy using, some creators have Patreon accounts. Definitely go take a look and support them if you’re a fan!
See you on Friday, August 2 for the catch when people say ‘no coding required’ in Dynamo and for information about what I learned from our Dynamo journey over the last year.