Two answers for “Why Dynamo”?

Over the past couple of months, and particularly after our recent Livestream Q&A on Enhanced Practice, we’ve received a consistent set of questions about Autodesk Dynamo for Revit from fellow architects and directors of technology:

Why should I bring Dynamo into my practice?

And for us the answer has two parts: what Dynamo brings to the table beyond it’s current host environment of Revit – and – how it differs from other Visual Programming applications such as Grasshopper.

1. What does Dynamo offer that Revit does not i.e. isn’t Revit already Parametric?

Revit does allow one to create Building Information Model with all of the associated benefits that come with that technology – linking geometric and data parameters across elements as well as adaptability and collaborative management of the model. So it is intrinsically parametric; however, not all parametric relationships are made equal. Out of the box, creating many varying elements such as facade panels is laborious and sometimes we want to feed very particular data like solar or other analysis into the model to drive a particular behavior to our elements. This also isn’t easy, but Dynamo enables more specific and broad data connections and facilitates the automation of repetitive or complex tasks.

When you pair these key features Automation and Extension of Revit with the return of investment matrix below, specifically on the design side of the Architectural Design process, Dynamo offers a way to reduce the associated costs of utilizing BIM. A designer’s speed of production should increase with Dynamo in their workflow and they should be able to explore more options and more options integrated with performance criteria such as solar load, view corridors, or visual patterning.

2. So Dynamo seems both interesting and advantageous for us to implement – but before we do, what does it offer beyond other Visual Programming applications like Grasshopper?

Before going any further *DISCLAIMER* we love Grasshopper and Dynamo… and the Maya Hypergraph… and MaxMSP… and Scratch… and Lego Mindstorms. Visual Programming environments are becoming a very popular means for learning and implementing computational concepts. Being designers at heart, things that are visual more than abstract are always a plus! That said, we love all of these programs but each is better for particular workflows. There are three reasons why Dynamo shines in this group: persistence, production, and community. 

First, when working with Dynamo, we are free to run our visual program aka “graph” and create elements in Revit. These elements are editable in Revit and we can manually adjust their parameters. But we can also re-run our Dynamo file (.dyn) and update those exact same elements from that window. The objects are persistent and live as opposed to a static capture of one state of the visual program. This offers a fluidity to the Dynamo-Revit relationship that isn’t a feature of the other CAD based Visual Programming Applications.

Second, (and maybe obvious) because Revit’s core intention is to “empower design and construction professionals to bring ideas from concept to construction with a coordinated and consistent model-based approach” it is primed for the production pipeline. Working on a Dynamo file means that your output is ready for documentation and coordination. No rigging up a workflow to get from CAD to output necessary.

Finally, Dynamo is hosted on Github and is fundamentally open-source. It encourages projects like the integration for Inventor by Frank Fralick. And maybe even more important for everyday users, Dynamo has a built in link to user-built nodes called the Package Manager. This integrated connection point is a huge benefit to extending the application’s functionality – where Dynamo might fall short on what seems like a useful node, many times it can be found through community contribution.

There are plenty more answers for “Why Dynamo” as well as for “Why Not.” Above are two. To learn more about Dynamo and it’s role in contemporary practice check out: