5 Ways Computational Design Will Change the Way You Work

design dynamo programming revit Jan 26, 2024

These days, nearly every architect, engineer, and AEC professional uses a computer. Computers are well entrenched within the industry, whether for 3D modeling, documentation, or even creating a program spreadsheet. We need to know almost as much about software as we do about structures, building codes, and design.

As our tools become more powerful and sophisticated, we must evolve and develop our working methods to stay competitive. I've written previously about how architects should learn to code. Many of the problems we need to solve fall outside the capabilities of off-the-shelf software. We need to tweak and customize our tools to work the way we work. Creating our tools and software is one way to do this.

That said, the reality is that only some have the time or the inclination to learn how to code. It's time-consuming, and you have projects to run, show drawings to review, and buildings to design. Fortunately, new tools are available that deliver the power of programming without needing all that typing.

Enter computational design and visual programming.

What is Computational Design?

Computational design is the application of computational strategies to the design process. While designers traditionally rely on intuition and experience to solve design problems, computational design aims to enhance that process by encoding design decisions using a computer language. The goal isn't necessarily documenting the final result but rather the steps required to create that result.

Most computational design environments rely on visual programming instead of traditional text-based programming. With visual programming, you assemble programs graphically rather than writing code. Outputs from one node are connected to inputs on another. A program or "graph" flows from node to node along a network of connectors. The result is a graphic representation of the steps required to achieve the end design.

Computational Design Tools

There are several computational design tools on the market. Most of these tools work within other software platforms like Rhino or Revit. Here's a breakdown of the five most popular computational design tools.

Generative Components is the grand-daddy of computational design tools. It was developed by Robert Aish in 2003 and commercially released in 2007. Generative Components works with Microstation software, though a stand-alone version is available.

While Generative Components is the oldest, Grasshopper is arguably the most popular computational design tool. Grasshopper is an algorithmic modeling tool for Rhino, the 3D modeling software by Robert McNeel and Associates. Grasshopper was first released in 2007 and has a rabid following. It's a very mature product with an extensive library of nodes. Grasshopper can even be used inside of Revit using Rhino.Inside.Revit.

Dynamo is Autodesk's visual programming tool. Ian Keough developed it as an Open Source platform for visual programming within Revit. It has evolved to include other Autodesk software, including Civil3D and Maya. Dynamo is growing in popularity and has an active community developing nodes to support a range of uses.

Marionette is a relatively new product from Vectorworks. It's built directly into Vectorworks and is cross-platform, so it works on Mac and Windows.

How Computational Design Will Change the Way You Work

Computational design is a broad term that encompasses many activities, ranging from design generation to task automation. The common thread is the use of a visual programming tool. Here are five ways you can benefit from computational design.

1. Explore multiple design options

Using generative design, you can capture and encode design rules in a computational framework. With this framework, generating hundreds, if not thousands, of options using those rules is straightforward. Moreover, you can evaluate each using specific criteria to determine the best solution.

We're not just talking about creating twisting towers or crazy geometry, either. You could easily make a tool that generates restroom designs based on a series of four walls. Most restrooms are similar in layout and design. If you encode your firm's standard design into a visual program, you can quickly generate several options, all meeting your firm's specified criteria. You can then spend your design time on the parts of the building that are more interesting.

2. Get under the hood and access your data

As much as the software companies would like us to do all of our work in their software, it's still necessary (and often preferred) to use whatever tool is best for the job. Unfortunately, this means transferring data from one format to another. And since all software doesn't play well together, this often involves exporting data to Excel.

Computational design tools make this process much more manageable. For example, you can create a two-way link with your Revit model using Dynamo. This link allows you to export all your Revit room data to Excel. Once this data is in Excel, you can modify it and then import it back into the model or use it to create a project dashboard. This workflow can be accomplished from a reasonably simple Dynamo graph.

3. Automate repetitive tasks

What you see from computational design often involves complex geometry and advanced design. However, these tools can do a lot more than that. Since they work with the software's API or application programming interface, computational design tools can be used to automate tedious tasks, like renaming or copying elements or views.

An intermediate Dynamo user could replicate most of the Revit macros I created for the ArchSmarter Toolbox. Dynamo works with the Revit API in the same manner as Revit macros and add-ins. This is one of the most significant promises of computational design. Creating your tools that work the way you work is the best way to work smarter.

4. Test what your design is REALLY doing

How do you know your design will perform like you think it will? You can wait until the building is completed. Or, you can test it during the design stage when making changes is much easier (and cheaper). Computational design tools make it easier to simulate building performance through the design process. Want to know how much daylight you can expect on a partially cloudy day in March? Create a tool that measures this.

While simulation data is no substitute for actual, real-life data, it does provide a means to evaluate designs based on similar criteria. Quickly determining which design performs measurably better than the others gives you more time to perform detailed simulations on that optimized design. Computational design tools allow you to make this determination as the design progresses, not just at the end of the process.

5. Think algorithmically

Lastly, computational design requires you 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 logical process. But what if you could encode this intuition? You could look at each step and understand what makes it work. Even better, you could reuse and improve that design logic over time.

By using a computational design process, you are encoding the design. Each step in the design becomes a series of instructions that can be evaluated, revised, and improved. Likewise, each step requires specific parameters. By thinking through the steps of the design problem and considering all the inputs and outputs, you effectively create a process that can be understood and repeated.


Computational design tools provide an easy way to harness the power of computation in a design process without having to learn how to write code. These tools let architects and designers go on to create their own tools. Let's face it: Each project we work on has unique challenges. We need more than one piece of software to do everything we need. We can tailor our software to work for us by creating custom tools.


Join ArchSmarter!

Sign up for ArchSmarter updates and get access to the ArchSmarter Toolbox, a collection of time-saving Revit macros, Dynamo scripts, and other resources. Plus you'll get weekly productivity tips, webinar invitations and more! Don't worry, your information will not be shared.

We hate SPAM. We will never sell your information, for any reason.