By John Pierson
Guest contributor John Pierson shows us how we can make the Dynamo Player even more impressive with just a couple little coding tweaks.
For several years now in the AEC industry, we have been hearing about this software called Dynamo. We have also seen some great examples of what it is capable of, and a quick Google search will yield some great results.
Being a reader of The Blast, you have probably heard of Dynamo by now. Jason Boehning does a great job of covering this exciting Open-Source visual programming extension created by Autodesk. If you haven’t heard of it, it’s time to catch up!
Basically, Dynamo enables access to the Revit API on an unprecedented level, while providing a robust geometry creation engine. Dynamo also represents a very awesome and active community of fanatics.
One of the biggest considerations regarding Dynamo is how fast it changes and adapts. In a matter of 3 – 4 years, Dynamo has grown from a beta test to a full-blown software, now on version 1.2.2!
One of the recent changes is what I am discussing today. With Revit update 2017.1, users were given access to something new called the Dynamo Player.
To sum it up, Dynamo Player takes a regular Dynamo graph like this:
…and adds it to the playlist in the window with an iconic Play button.
Immediately, this looked very promising. Run Dynamo graphs without opening Dynamo? Um, yes please!
But, shortly after testing, people started discovering that this awesome new functionality lacked a basic user interface for node interaction. This means that, when users press Play, they find out if the graph worked or not, but they do not receive any feedback. I have known users who have run graphs without knowing exactly what they did. This is not good when working on a huge project, such as a hospital, which might have as many as 10 people working in the same model. Luckily, the team at Autodesk unknowingly revealed that you can solve this problem by utilizing Python coding within the Dynamo graph.
The above image shows a Dynamo graph with an embedded Python script that creates a popup to explain what Dynamo Player is.
Very quickly, people noticed and began using my very own nodes from Rhythm to allow for selection methods and popups because they are built on Python.
One of the most notable early adopters of this exploit is Mostafa El Ayoubi.
Mostafa saw a great opportunity in this undocumented Python functionality and went crazy with it! This is especially great because we can translate a Dynamo graph like this:
…into a great UI with inputs like this:
This new functionality is exciting because, not only does it support Dynamo workflows, but also, it allows the Dynamo fanatics to expose all users to Dynamo in a familiar way. It is much easier to tell someone to run a graph from the player and select the desired inputs. At the same time, this process is also less intimidating to the end user.
At RTC North America 2016, Autodesk reveled their Revit roadmap, which included Dynamo Player. On this same timeline are UI enhancements for the new feature. This is important because I believe they will add to the player, and make it even better. Until then, we can use this workaround thanks to the awesome Dynamo community. I would say if you haven’t used Dynamo Player yet, get out there and start knocking out some great workflows to make Revit better in ways we can’t even imagine!
John Pierson is a Revit certified professional, a Computational Design / BIM Specialist at EvolveLAB and author of the sixtysecondrevit.com blog. As a computational design and BIM specialist, he provides solutions to design problems with Dynamo and implements and streamlines Revit workflows for Architectural firms. John is a frequent presenter at Revit user groups and has presented at Revit Technology Conference where he was rated in the top 5 speakers. He is an active member in the Dynamo community and currently manages Rhythm; which is among the top 10 most downloaded Dynamo packages.
Find him on Twitter at @60secondrevit or on his blog sixtysecondrevit.
This article first appeared in The Blast.