An introduction to Computational Design
Getting an overview of terms like parametric, generative design and topology optimization
The field of computational design(CD) felt in the beginning quite overwhelming, at least this was the case for me. I was reading numerous articles and papers to find the answer to the seemingly easy question “What is Computational Desing”. This was two years ago, and I am still trying to better understand the field of computational design.
First a disclaimer: It turned out that a fixed terminology and taxonomy for CD is still ongoing. Terms are often used in different ways or applied to different methods. I will here present the conclusion of my findings on that topic. The aim of this post is to hopefully give you a starting point in computational design, and a quick introduction to some of the most used terms/methods that come with it.
Computational Design (CD)
Influences by interviews with Sam Whitworth(ig:sam_whit_design) and Aman Agrawal(ig:creativemtation), I tried to reduce (CD)in one sentence:
Computational Design is an umbrella term for methods that include computational power and data to produce design solutions.
So, let's break it further down. A good starting point is to compare it with CAD. In “classical” computer-aided design programs, like SolidWorks, Fustion360 or Rhino, the designer is drafting manually one design solution at a time, which is still a relatively linear process. In CD, the role of the designer is changing from form executioner to logic maker, curator, and explorer. Design solutions are often more fluid and can rapidly change.
CD is often seen as a design tool on top of classical CAD systems, which extends their functionality. Examples of this would be Grasshopper, a visual programming environment on top of Rhinoceros, or Dynamo on top of Autodesk’s Revit. Other software like nTopology uses finished designs from CAD software and applies computational methods to optimize or change the geometry depending on specified design goals.
To have a better understanding of what this means, let's look at some of the most used methods in CD:
Parametric Design (PD)
Parametric Design is an important part of CD. As the name already hints, it’s designing with parameters. For the ones of you that are familiar with Solidworks, Fusion360, and similar CAD programs, this way of designing might be not new for you. For everyone else, here is a quick introduction;
In parametric design, as the name already hints, parameters are at the center of the action. Parameters are often numerical values or boolean operations (true /false).
I will give a simple example, of how to parametrically “design” a point:
A point in 3D can be described with an X, Y, and Z value. When leaving the X, Y, Z as variables and not assigning any specific number, the point can be at any position in the 3D space. The image below is an example of parametrically defining a point with the help of number sliders, in this case, between 0 and 10. These sliders offer certain flexibility, but at the same time limit the area where the point (design) can be. This is also known as defining a design space.
This seems simple, but this method is often the base for describing complex designs.
Examples of parametric design
Parametric design often finds use in architecture, a popular example would be Zaha Hadid Architects with their often organic-looking architecture. In industrial design, PD finds more and more applications, especially for generating complex surface structures.
Generative Design (GD)
Another often-used method in the field of CD is generative design. This term is again an umbrella term, GD methods often build on top of PD. Compared with the PD, where the designer has to change the parameters individually, GD changes the parameters automatically based on defined logic/goals.
Here I want to introduce two “flavours” of generative design. Performance-based and explorative-based GD.
Performance-based generative design
With performance-based GD, the aim is to improve certain aspects of a design. For this to work, designers have to define clear and measurable design goals. This can also be a limiting factor, regarding aesthetics and subjectivity, where you would have to numerically define the visual outcome of a design solution (another interesting discussion?).
Explorative-based generative design
In explorative-based generative design, the aim is to define a so-called design space. In this design space, an algorithm explores many possible design solutions. The focus here is to explore a space of possible design solutions, and not necessarily optimization. At the end of the process, all those solutions (also called the solution space) go back to the designer for further evaluation
Topology Optimization (TO)
Topology optimization gets already has quite a lot of traction, especially in the field of aerospace engineering, and gets further traction because of its ease of use in Fusion360. It is often quickly recognizable through its organic structures. In contrast to GD, TO does not create new geometry, instead, it takes away mass from an already existing geometry. The goal of TO is to reduce the weight of a part or design without weakening its structural integrity. The process of TO often follows an iterative process of evaluating the geometry with a FEM and reducing material where it's not needed.
To wrap it up
I hope this post helped you to have a better overview of the field. If you’re not agreeing with some points, I would love to have further conversations in the comments, since the field of computational design is constantly changing. If you liked the post and would like a deeper dive into one of the above methods, let me know, and I will make a more in-depth post about it.