Using Revit is a lot like driving a car.
You hop in the front seat, turn the key and off you go. Sure, you need to know what you’re doing and where you’re going. And you need to know the rules of the road, like how to stop, how to indicate when you’re turning (unless you’re from Massachusetts) and how to merge onto a rotary (if you’re from Massachusetts).
You also need to know how to keep your car running; fill it with gas, check the oil, and maybe even change a flat tire.
But sometimes you need to know more. You need to take your understanding of your car to the next level. Maybe you want to get more performance so you can drive faster or more efficiently. Or maybe you want to be able to fix it if it breaks down and you’re miles from nowhere.
Getting under the hood of your car gives you a whole new understanding of how it works and why. You’re no longer at the whim of the machine. You have a deeper level of control.
And just like with your car, getting under the hood of your software can give you that same feeling of mastery over your tools. You’re no longer required to just point and click. You can make the computer do some of the work for you.
While learning how to program Revit won’t leave you with greasy hands, it does require a new set of skills and a new way of thinking about your work.
Fortunately, there are ways to make learning those skills much easier.
That’s where Dynamo comes in.
What is Dynamo?
Dynamo is a visual programming tool that works with Revit. Dynamo extends the power of Revit by providing access to the Revit API (Application Programming Interface) in a more accessible manner. Rather than typing code, with Dynamo you create programs by manipulating graphic elements called “nodes”. It’s an approach to programming better suited for visually oriented types, like architects, designers, and engineers.
In Dynamo, each node performs a specific task. Nodes have inputs and outputs. The outputs from one node are connected to inputs on another using “wires”. The program or “graph” flows from node to node through the network of wires. The result is a graphic representation of the steps required to achieve the end design.
One of the strengths of visual programming and Dynamo, in particular, is ready access to a library of nodes. Instead of having to remember the exact code you need to type to perform a certain task, in Dynamo you can simply browse the library to find the node you need.
Likewise, a contributing factor to Dynamo’s success is its user community. In addition to providing help on its forum, Dynamo users can also create node libraries or “packages” and upload them to a central repository. This repository can be searched directly from inside of Dynamo. To install the package, simply click the download button and it will install directly into Dynamo.
What’s great about user-created packages is that they often solve very specific problems. Say you need to renumber your rooms according to a particular sequence. There’s a node for that! What about creating ducts from lines? There’s a node for that too!
Some popular (and extremely useful) packages include archi-lab, Clockwork, data-shapes, Lunchbox, and Rhythm. There are even discipline-specific packages, like MEPover.
Why You Should Be Using Dynamo
“OK,” you’re thinking, “Dynamo looks pretty cool and it sounds useful. But what can it do for me?” Having to learn yet another piece of software is daunting, especially when your plate is already full. After all, there are only so many hours in the day.
Here are five ways you will benefit from incorporating Dynamo into your daily workflow:
1. Automate repetitive tasks
There’s a lot we need to do in Revit that’s very repetitive. Sure, the software makes individual tasks pretty easy to accomplish. But when you need to do that task 10, 20, 100 times, it adds up to a lot of clicking.
Creating sheets is a perfect example. Creating one new sheet isn’t very difficult. All it takes is a right-click, a left-click, and a little bit of typing. But in most cases, you need to create 50 or 100 new sheets. Ugh. . . that’s a lot of clicking
Fortunately, Dynamo makes this task REAL easy. You can create your sheets directly from views in the model. Or create them from an Excel file. What would have taken over an hour can be accomplished in a few seconds.
There are hundreds of tasks you can automate with Dynamo. A good rule of thumb is that if you need to perform a task more than five times a day and that task takes more than a minute to accomplish, it’s ripe for automation. Here are some suggested applications:
- Renumber a sequence of sheets
- Flip grid heads
- Batch insert families
- Add revisions to multiple sheets
- Change text case
The list goes on and on. What’s even better is that once you’ve created these Dynamo tools, you can access them directly from Revit using the Dynamo Player (Revit 2017 and up).
There’s no need to even open Dynamo to automate these tasks.
2. Access your building data
A big part of BIM in general and Revit, in particular, is all that data. It’s the “I” in BIM, after all. But getting that data isn’t as easy as it should be. Sure, you can create schedules in Revit. You can even export these schedules to Excel. But sometimes you need to combine data from different categories. Or you need to calculate specific values. While Revit has made strides in improving these capabilities, it still falls short on many data-specific tasks.
However, Dynamo makes this process much easier. For example, using Dynamo you can create a two-way link between your Revit model and Excel. First, create a Dynamo graph to export the specific data to Excel. Once in Excel, you can modify the data as needed. Next, create another graph to import the data back into the model. Want to learn how to do this? Check out the video tutorial below.
You can also use the exported data to create a project dashboard. There are lots of interesting possibilities here!
3. Explore multiple design options
As good as it is automating tasks and exporting and importing data, Dynamo is also a powerful design tool. With Dynamo, design truly becomes a process as you explicitly define the generative design rules.
By encoding the rules in a computation framework, it’s possible to generate hundreds, if not thousands of options using these rules. In fact, Project Fractal, Autodesk’s generative design tool, uses Dynamo in this capacity.
But this use of Dynamo as a design tool is not limited to twisting towers or crazy geometry. You could create a tool that generates restroom designs based on a series of four walls. Let’s be honest, most restrooms are pretty similar. If you encode your firm’s standard design into a Dynamo graph, you could easily generate a number of options, all of which meet your firm’s specified criteria. It’s smart to automate the boring stuff so you can spend your design time on the parts of the building that are more interesting.
Likewise, you could use Dynamo to generate random glazing patterns on curtain wall. Or layout mechanical rooms. Or layout furniture in a typical classroom. There are a ton of design-related applications for Dynamo. All that’s needed is a little know-how and some creativity.
4. Test Performance
How do you know your design is going to perform in real life like it does on paper? You can either wait until the building is built (and cross your fingers) or you can test it during the design stage, when it’s a lot easier (and cheaper) to make changes. Dynamo makes it easier to simulate building performance throughout the design process. Want to know how much daylight you can expect on a partially cloudy day in March? You can create a tool that measures this.
While simulation data is no substitute for actual, real-life data, it does provide a way to evaluate designs based on objective criteria. Quickly determining which design performs better helps guide the way towards an optimum solution. Computational design tools like Dynamo provide a means for making this determination throughout the design process and not just when the building is finished.
Performance is not just limited to the building design. either. Sometimes it’s necessary to check how your Revit model is performing. For example, it would be useful to see how the file size is changing over time. How many families the model contains. How many views are not placed on sheets? This information is useful when troubleshooting performance issues or doing quality control.
5. Think Computationally
Lastly, Dynamo requires you to take a systematic approach to working. You need to think logically and in a step-by-step manner. Most architects rely on intuition and creativity to solve problems. This kind of thinking doesn’t always fit into a left-brained, computational process. But what if you could encode this intuition? You could look at each step and really understand what makes it work. Even better, you could reuse that design logic and improve it over time.
By using a computational process, you are encoding the design or the workflow. Each step becomes a series of instructions that can be evaluated, revised, and improved. Likewise, each step requires specific parameters. By thinking through all the steps of the problem and considering all the inputs and outputs, you effectively create a process that can be understood and, best of all, repeated. It’s one less problem you need to solve so you can get on with the more important work!