Geometry Systems for AEC Generative Design: Codify Design Intents into the Machine

Share this Article

Office interior

Unlike generative design for manufacturing, generative design for architecture requires the incorporation of the user’s unique design intents and ideas into the generative model. As most of our work shows—from the Autodesk office at MaRS to an AU Exhibit Hall layout and from urban developments in the Netherlands to housing complexes in Japan, each project’s output looks different because each geometric system has been developed as a combination of the designer’s intent and reusable geometric tools.

This article will show how to approach design problems through the generative design framework (problem formulation) with a focus on how to incorporate design intents in the form of geometric systems (model parameterization). Through Dynamo and Refinery, we will take a look at and customize a variety of custom geometric tools and test them in real-world case studies, from subdivision logic for office and urban neighborhoods to automated massing strategies and building siting algorithms.


Generative design for AEC.


Generative Design

Generative design (GD) leverages the power of computation to explore large design spaces and discover novel and high-performing solutions relative to a set of goals and constraints. This process is a design framework that combines human creativity and machine intelligence to co-create solutions not possible otherwise. Some benefits (among others) offered by GD in design and engineering problems include:

  • Controlling complexity

  • Navigating trade-offs among competing objectives

  • Structuring discussions through data

  • Making communication transparent

The methodology consists of three main components: 1) generate, 2) evaluate, and 3) evolve. Each of them respectively involves: the creation of large solution spaces through geometric algorithms (geometry systems), simulation and analysis systems to evaluate each generated design (goals), and a metaheuristic optimization solver (search/intelligent systems), such as genetic algorithms, to search the space of generated solutions (design space) and learn to identify and evolve sets of optimal solutions.

Generative design framework.
Past and ongoing real-world applications of generative design.

Geometry Systems

A geometry system (GS) is a key component of the GD framework. It can be defined as the automated generation of design solutions through algorithms. These can consume several types of inputs and data and involve the combination of utility algorithms of general use and geometric algorithms that can be more particular to the design problem that is being solved. In general, you can think of a GS as a large multivariable function that, given a series of variable and constant inputs, executes several operations and outputs geometry and data.

Geometry system as function.
Sample geometry system.

real world

Geometry systems from real-world generative design applications.

Elements of Geometry Systems

Geometry systems are ecosystems of different types input data, utility algorithms and rule-based geometric algorithms. Below is a brief overview of each of these elements.

Input Data

Different types of inputs can drive geometry systems. Inputs are parameters that can derive from the design problem’s constraints and requirements (constants) or drive the geometry generation (variables).


Constraint inputs are in most cases constant parameters, meaning they stay fixed throughout the GD process. These can represent for example local building code guidelines (setback parameters, maximum floor height, etc.).

Geometry Variables

These kinds of parameters define the bounds of the GS design space and control its processes. These can be of different types, including:

  • Continuous parameters
  • Discrete parameters
  • Categorical parameters
  • Sequence parameters

Utility Algorithms

Most utility algorithms are general-purpose methods that can be applied to a variety of design problems and are generally independent from any design intention or strategy. These can automate the evaluation or implementation of certain types of constraints or rules from local building code, for example the automatic generation of setbacks and the test whether a certain building violates such constraints. More design related utility algorithms can be desk filling methods or algorithms that, given a site’s boundary curves, can “place” a building by computing the domain of possible locations and orientations.

Geometry Algorithms

Unlike utility type of algorithms, the geometry ones embody certain design strategies that users may want to implement to solve a specific problem(s). This step of the process relies on the designer’s ability to identify the best types of strategies that can better address the given design problem. Moreover, geometry algorithms are the systems that impact the most the look and feel of the final generative design results. Geometry algorithms are often combined along with a variety of utility algorithms to perform more complex operations. Examples of geometry algorithms include:

  • Subdivision systems
  • Sliding and interlocking volumes systems
  • Adjacency-driven packing systems
  • Adjacency-driven recursive systems

Diagrams of geometry algorithm systems.

Here we map out the range of flexibility and applicability of the different elements of a geometry system as well as other components of the generative design process. As mentioned before, designers and planners often engage design problems through the formulation of high-level strategies or concepts. Such approaches are highly compatible with generative design, especially within the context of geometry system development. In fact, while there are general- purpose utility algorithms that can automate a variety of tasks, geometry systems also require high-level strategies that can inform the types of geometry algorithms to be implemented. In short, generative design is a flexible framework which components can be extended and applied to variety of problems but also tuned to more particular and unique intuition-driven design strategies.

Flexibility and applicability of generative design components.

Designing Design Spaces

A geometry system directly affects the quality of the design space. Design spaces are abstract multi-dimensional volumes that contain all possible permutations of the generative model. It is the space that the search algorithm “navigates” to identify high-performing solutions and evolve them over time. While there is no overarching theory or set of guidelines about how to “craft” a good design space, our team has recently been focusing on the study and analysis of design spaces and offered different ways to evaluate how well suited a geometry system is for generative design. In general, the most successful geometry systems are ones that can embody multiple design strategies and represent design spaces that yield unpredictable solutions otherwise impossible to create.

'Biomorph Land' from The Blind Watchmaker by Richard Dawkins.

Design through Evolution

Given the importance of the design space model within the context of generative design, it is important to understand how to design through evolution. Generative design mimics evolutionary concepts in order to improve the performance of solutions along a set of prescribed metrics generation after generation. The steps undertaken during optimization involve selection, cross-over and mutation and are performed on the input parameters of the model, which represent the genotypes of solutions. Connecting a geometry system with an optimization solver without properly considering how its inputs are configured can be insufficient to obtain high- performing results out of generative design. In fact, it is always important to ask ourselves whether a certain model is “good enough” to be processed through optimization. And to address this question our studio has put forth a set of metrics and trade-offs to evaluate the quality of design spaces, or in other words, how fit a geometry system is to yield high-performing results through optimization.

The first is bias versus variance, which we borrow from the machine learning literature. This trade-off deals with the global extent of the model, and its ability to contain a sufficient variety of solutions without being so vast that it is intractable to search. On one extreme, a model which is too biased is too limited, and is unable to produce enough variety to create interesting and unexpected results. At the other extreme, a model which is too variant contains a huge set of solutions but can be so vast and contain so many unfeasible solutions that it cannot be efficiently searched. When we evaluate our models we want to avoid the extremes and be somewhere in the middle. We want our models to be flexible enough to produce unexpected solutions, while also being tractable for search.

Design space evaluation: bias versus variance.

The second trade-off is complexity versus continuity. While the bias versus variance trade-off deals with the global extents of the model, the second deals with its local topology and the relationship of the input parameters to the output metrics. We can think of this as the shape of the landscape produced by mapping the metrics relative to the input parameters. If this landscape is too simple, the solution is likely obvious, thus making the optimization not necessary. On the other hand, if the design space is too discontinuous, for example a model which incorporates random parameters, the search algorithm will be unable to navigate it effectively to find the best solutions. Again, we want to be somewhere in the middle - a model which has enough continuity to be searchable while being complex enough to make the whole endeavor worth the effort.

Design space evaluation: complexity versus continuity.


Lorenzo Villaggi is an architectural designer, computational design specialist and senior research scientist with The Living, an Autodesk Research studio. His projects and research focus on generative design for AEC, new forms of visualization, computational geometry and analysis as well as new materials. More recently he has been exploring novel automated 2D and 3D space planning methods as well as the incorporation of qualitative metrics into generative workflows. Lorenzo graduated from the Columbia University Graduate School of Architecture, Planning and Preservation with a master’s degree in Architecture in 2015 where he has taught a graduate seminar on architecture and technology. He has worked on several architectural projects at a variety of scales and led various real-world applications of generative design including the Autodesk Offices in MaRS, Toronto, affordable and net-zero energy residential neighborhoods in northern Europe and housing complexes and commercial developments in Tokyo. His work has been exhibited in internationally renowned venues including the Centre Pompidou, the Chicago Biennial, the MoMA and the Milan Triennale. Lorenzo lives and works in New York City.

Want more? Keep learning with the full class.