Design is a creative endeavour that taps into the innate expressive capabilities of Designers. As Architects, we shape the world around us through designs.
When you visit any part of the world, one of the things that stick to memory the most is the Architectural/Engineering edifices that complement the natural elements.
As creatives, our designs are often limited to our experience, exposure, and our natural talents. But the world around us is changing rapidly. These changes pose new challenges to designers. The more complex our design problems become, the more we need new tools and technologies to manage the complexities, to deliver more innovative solutions to the world.
Beyond the creative aspects of design are so many mundane/repetitive tasks, such as Project Documentation, Detailing, and Annotation tasks.
In recent years, the emergence of Artificial Intelligence (AI) has brought up new ways to iterate the design process, leveraging technology.
Instead of just simplifying common tasks, algorithms can now figure out how to solve complex problems on their own.
In this article, I will explore certain levels of Design Automation, various Tools for Computational and Generative Design, and the role of BIM in all of this.
What is Design Automation?
According to IBM, Automation is a term for technology applications where human input is minimized. This includes Business Process Automation (BPA), IT Automation, personal applications such as Home Automation and more. Basic automation is programmed to perform repetitive tasks so that humans don’t have to.
Hence, Design Automation entails using software programs to perform repetitive/mundane tasks during the design process.
Design in the built sector has progressed over the years from manual hand drafting to 2D-based Computer-aided Design (CAD) to 3D-based Building Information Modeling (BIM).
In the world of 3D Modeling, there are two broad classifications of tools: Generic Modeling Tools and Parametric Modeling Tools.
Generic Modeling is mostly used for conceptualization and early design iterations. Popular tools used by Architects/Designers for this are Rhino and Sketchup.
- Parametric Modeling, on other hand, is mostly used for more detailed designs and construction documentation. Popular tools here are Revit and ArchiCAD.
Levels of Design Automation
- The first level of Design Automation is Parametric Modeling. The underlying principle behind Parametric Modeling is using parameters to control the behaviour and appearance of objects within a 3D model, of say, a building.
- A BIM Object, for example, a Revit family can be created to change in size in the three axes – x-,y-,and z-.
- Conditional Logics can be used to control the visibility and behaviour of the various parts.
- Formulas can be used to control arrays which, in turn, controls the number of elements as the object dimensions change.
- The materials applied to object parts can be changed with the use of parameters.
- Types and families of the objects can be swapped with the click of a button. Each type has its unique set of parameters.
- Custom and Shared Parameters can be created to meet peculiar design needs.
This is the beauty of a Parametric Modeling workflow in comparison to Generic Modeling. This seems commonplace today because we have got quite used to these tools. But imagine what life will be like if you have to model every permutation of size, material, parts visibility, etc., of objects during design iterations.
Parametric Modeling, however, mostly relies on the out-of-the-box features of the Modeling tools.
- The second level of Design Automation is Computational Design. Computational Design stretches beyond the out-of-the-box features of 3D Modeling tools. It entails using computers and mathematical operations to manipulate data to generate geometries and objects.
One of the most popular applications of Computational Design in Architecture/Design is Visual Programming.
According to Outsystems, Visual Programming is a type of programming language that lets humans describe processes using illustrations.
Whereas a typical text-based programming language makes the programmer think like a computer, a visual programming language lets the programmer describe the process in a way that makes sense to humans. In other words, with Visual Programming software, you’re programming without necessarily writing codes. This is a good starting point for beginners into the Computational Design world.
One of the first visual programming languages to enter the Architectural Design space is Grasshopper, a plugin for Rhino software.
- Grasshopper uses a set of building blocks called components, which represent individual operations. These can be mathematical operations, such as addition and multiplication, or geometric operations, such as extrusions and lofts. Each component requires specific inputs and produces one or more outputs as a result of its operations.
- Components can be connected by linking the output of one component to the input of another; thus, creating complex geometric models that are represented visually in the software.
With Grasshopper, a Generic tool such as Rhino suddenly becomes a Parametric tool. That is the power of Computational Design.
Another popular Visual Programming software is Dynamo from Autodesk. Dynamo connects to Revit and several other Autodesk software.
Its usage spans the entire design and delivery stages of a project.
Scripts can be written to automate repetitive/mundane tasks within the 3D Modeling tool, such as Revit. Such tasks as annotation, documentation, and presentation tasks. A good example is tagging objects within a BIM Model.
Within Revit, the Dynamo Player plugin executes dynamo scripts for Revit without having to access the Dynamo interface. This is one of the most popular applications of Design Automation today. Companies write scripts to automate all their redundant tasks to speed up their documentation workflow.
Scripts can also be written through text-based programming, even within Visual Programming tools like Grasshopper and Dynamo. This works through special code components that let you write codes directly inside the components and connect them to the rest of the model by exposing the inputs and outputs of the scripts through the inputs and outputs of the components.
Other third-party Design Automation tools come mostly as plugins to BIM Modeling tools, such as Revit. Simply visit the app store and search for “productivity” tools. Some are free; some others are paid.
- The third level of Design Automation is Generative Design. Generative design is a new design approach where you work with a set of tools to describe a design problem to the computer. The computer then generates many possible solutions and helps you find the best ones. This enables the designer to think outside the box because it exposes much more solutions than using a traditional process – in a shorter amount of time.
- The first step of the generative design process is to create a generative model which can create many possible variations of a design within the constraints of a given design problem. For this, we rely on parametric design tools that allow us to represent the design, not as static objects, but as a series of relationships that represent the process of making those objects based on a set of parameters.
- Next, the designers translate their design goals into objective metrics. These metrics must be both quantifiable (can be expressed numerically) and computable (their values can be calculated per design option). The priorities for these metrics need to be defined by setting each one as either an objective or a constraint. An objective represents a value that we want to be as low or as high as possible. A constraint, on the other hand, has a specific target that must be met for the design to be considered valid. The choice of which metric is an objective or a constraint is informed by the project/design requirements.
- After we’ve told the computer how to evaluate each solution in our generative model, the next step is to use optimization algorithms to automatically explore different options and find the best solutions. The results of the optimization can be visualised using several data visualisation techniques. Such as scatter plot and parallel coordinates chart. This gives us vital feedback that we can use to further develop our models and fine-tune the settings of the algorithm to ensure that the process ends up producing the best possible results.
With the growing popularity of visual programming languages, such as Grasshopper and Dynamo, simulation tools are being developed as plug-ins, incorporated within the generative model. Examples include Karumba for static structural analysis, Kangaroo for dynamic simulation of flexible structures, and Ladybug for daylight simulation and energy analysis.
In Grasshopper, the easiest way to get started with optimization is to use its built-in tool, Galapagos. This is very useful for quickly testing models during the development process. In Dynamo, the Refinery plugin can run optimizations on Dynamo models. Revit 2021 upwards comes with a Generative Design Primer (based on the Refinery beta), which is currently available to subscribers of the Autodesk AEC Collection.
The role of BIM in all of this
As creatives, it is easy to get lost with design iterations, especially as younger professionals. The guiding star for the whole process of Parametric, Computational and Generative Design should be producing more innovative and human-centric designs for our increasingly complex world. These design iterations should not be carried out in silos.
Through a BIM workflow, we can co-design and communicate in real-time with the other stakeholders on the project – including the end-users and the client.
Thanks to cloud-based collaboration platforms, such as BIMx, Autodesk Construction Cloud, Procore, Trimble Connect, etc. that serve as Common Data Environment on projects today.
Leveraging Parametric, Computational and Generative Designs, we not only create better designs much faster, but we also create information-rich models. This makes the construction and the management of the facilities more seamless.
The concept of Design Automation paints a picture of a future where Artificial Intelligence and Algorithms will replace humans entirely and take over the design process. But this is far from the truth. As we have seen,
- It takes humans to set up the metrics for design simulations, including the objectives and constraints during Generative Design.
- It takes humans to interpret the outcome of the optimisations and improve on them.
- It takes humans to write the Automation scripts, build and improve the plugins.
Hence, the idea behind Design Automation is to complement Architects/Designers by leveraging intelligent tools to take care of repetitive/redundant tasks, unleashing creative designs beyond the latent creative potentials of the human mind in the process.
In essence, designers should not shy away from these tools and technologies. Instead, they should embrace them to make their lives easier.
Over time, the role of humans in designs will likely change from the traditional design methods to a higher role of telling the computer what to do and guiding the computer all the way.
About the Author:
- Onyema Udeze is a young Architect passionate about the digital transformation of the built sector.
- He has a vast interest in technology-based solutions in the built sector, especially those with relevant applications across Africa.
- He is an Instructor at LinkedIn Learning.
- He is a BIM Specialist and the co-founder of a BIM Consultancy outfit based in Nigeria, Blaze Inc.
- He is also a founding member and one of the Directors of the BIM Africa Initiative.