The Dynamo Primer

For Dynamo v2.0

Download the Dynamo v1.3 Primer here

Dynamo Logo

Dynamo is an open source visual programming platform for designers.


You have just opened the Dynamo Primer, a comprehensive guide to visual programming in Autodesk Dynamo. This primer is an on-going project to share the fundamentals of programming. Topics include working with computational geometry, best practices for rules-based design, cross-disciplinary programming applications, and more with the Dynamo Platform.

The power of Dynamo can be found in a wide variety of design-related activities. Dynamo enables an expanding list of readily accessible ways for you to get started:

  • Explore visual programming for the first time
  • Connect workflows in various software
  • Engage an active community of users, contributors, and developers
  • Develop an open-source platform for continued improvement

In the midst of this activity and exciting opportunity for working with Dynamo, we need a document of the same caliber, the Dynamo Primer.

This Primer includes chapters developed with Mode Lab. These chapters focus on the essentials you will need to get up and running developing your own visual programs with Dynamo and key insights on how to take Dynamo further. Here's what you can expect to learn from the primer:

  • Context - What exactly is "Visual Programming" and what are the concepts I need to understand to dive in to Dynamo?
  • Getting Started - How do I get Dynamo and create my first program?
  • What's in a Program - What are the functional parts of Dynamo and how do I use them?
  • Building Blocks - What is "Data" and what are some fundamental types I can start using in my programs?
  • Geometry for Design - How do I work with geometric elements in Dynamo?
  • Lists, Lists, Lists - How to do I manage and coordinate my data structures?
  • Code in Nodes - How can I start extending Dynamo with my own code?
  • Computational BIM - How can I use Dynamo with a Revit model?
  • Custom Nodes - How can I create my own nodes?
  • Packages - How can I share my tools with the community?

This is an exciting time to be learning about, working with, and developing for Dynamo. Let's get started!

Open Source

The Dynamo Primer project is open source! We're dedicated to providing quality content and appreciate any feedback you may have. If you would like to report an issue on anything at all, please post them on our GitHub issue page:

If you would like to contribute a new section, edits, or anything else to this project, check out the GitHub repo to get started:

The Dynamo Primer Project

The Dynamo Primer is an open source project, initiated by Matt Jezyk and the Dynamo Development team at Autodesk.

Mode Lab was commissioned to write the First Edition of the primer. We thank them for all of their efforts in establishing this valuable resource.

John Pierson of Parallax Team was commissioned to update the primer to reflect the Dynamo 2.0. revisions.


A special thanks to Ian Keough for initiating and guiding the Dynamo project.

Thank you to Matt Jezyk, Ian Keough, Zach Kron, Racel Williams and Colin McCrone for enthusiastic collaboration and the opportunity to participate on a wide array of Dynamo projects.

Software and Resources

Dynamo The current stable* release of Dynamo is Version 2.1.0 or

*Note: Starting with Revit 2020, Dynamo is bundled with Revit releases, resulting in manual installation not being required. More information is available at this blog post.

DynamoBIM The best source for additional information, learning content, and forums is the DynamoBIM website.

Dynamo GitHub Dynamo is an open-source development project on GitHub. To contribute, check out DynamoDS.

Contact Let us know about any issues with this document.


Copyright 2019 Autodesk

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.