Field Data Extraction 101: Working with Filters
Glue API Versioning and Deprecated Calls

Dynamo and Computational BIM - Part 1: Introduction and Resources

By Sheryl Yang

I’m so excited to have my first post at this blog! I’m Sheryl Yang and I joined Autodesk in December 2014 as an Implementation Consultant and I provide consulting and training services for Autodesk customers on deploying BIM360 products. Prior to joining Autodesk, I worked as a researcher and finished my Doctoral degree at Carnegie Mellon University with focus on building information modeling and visualization for AEC/FM industry. I’m a BIM advocate and passionate about exploring cutting-edge technologies and developing new solutions for AEC/FM practices. So glad to have this opportunity here to share my findings, thoughts, and discussions about BIM! In this post I will share my recent summary and some resources I found from learning a new tool – Dynamo.

Dynamo and Computational BIM

Design is both art and science – this is especially true at this time when Building Information Modelling (BIM) is changing the AEC industry’s paradigm of how buildings are planned, analyzed, created and managed.  Computational methods give designers the ability to automate many of the design tasks, generate parametric geometries and parse the design model to perform various engineering analysis. Well, as promising as it sounds, I understand it can be very challenging and probably scary for designers to write all the codes/scripts to develop the computational methods. In this post, let’s take a look at how to develop “easy” and “graphical” scripting for computational design using Dynamo.

What is Dynamo and visual programming?

Dynamo is an open source and visual programming tool that allows extension of parametric functionality in BIM authoring environments, such as Autodesk Revit, and it can run as a stand-alone application as well. So what is visual programming? Basically a visual programming script looks like a set of nodes which are connected by edges. These nodes have predefined functions, input ports and output ports. Using the data fed as inputs, the nodes execute their functions to manipulate the input data and generate the output data. As an end user of a visual programming tool, you don’t need to understand what is inside a node; you only need to know what it does, what it needs as inputs and what it produces as outputs.

 Line example

An example of Dynamo script is shown in the figure above. In this example, I defined a set of points by their coordinates and created lines using these points as starting points and end points. The names of the nodes are very self-explanatory about what they do. As simple as the example is, it clearly shows how easy it is to do “programming” with Dynamo. You don’t need to write lines of statements as in the traditional programming environments; you just need to select the right nodes and wire the nodes!

Get access to Dynamo

The latest Dynamo release can be downloaded from:

If you are a Revit user, a Revit add-in will be automatically installed after you run the installation file downloaded from the link above, and it looks like the below figure in Revit. If you are a Revit 2015 R2 user, Dynamo is available by default and you can encode design intent as well as extend model behavior.

  Revit add-in

You can launch Dynamo from the Revit Add-Ins tab as shown in above figure. Attached documentation will help you get started with Dynamo for Design.

Tutorial - Computational Design for BIM with Dynamo


The complete playlist is accessible on Youtube:

Additional video sources:

Advanced Computational Design for BIM playlist:


Classes on-demand at Autodesk University online

AB6644: Dynamo: The Future is Wide Open

AB6542: Explore the Possibilities with Computational BIM

AB6557: Practically Dynamo: Practical Uses for Dynamo Within Revit

AB5482: The Great Dynamo Dig: Mine Your Revit Model with Computation

AB6798: Revit Plus Dynamo Equals the Building Calculator

In my next post, I will continue the topic on Dynamo with some discussions of its practical uses. I’m still new to Dynamo, but within a few ways of exploration, I can see huge potentials of using Dynamo in AEC practices from three aspects: (1)  Create complex geometries – Dynamo is very good at handling complex shapes and surfaces with its functionality to compute geometries by the defined parameters and rules ; (2) Automate repetitive modelling tasks – Dyanmo can help to improve the design process efficiencies by automating time-consuming repetitive manual tasks; and (3) Data extraction and analysis from BIM: - Dynamo can streamline the process of automatically extracting data from Revit model and feeding into other data analysis application.