top of page

Deep Generative Design: A Deep Learning Framework for Optimized Spatial Truss Structures with Stock Constraints

ML Tags

Variational Autoencoders 

Generative Design

Surrogate Modelling 

Gradient Descent Optimization

Neural Networks

Topic Tags

Structural Design

> Software & Plug-ins Used 


  • Rhinoceros, Grasshopper, Karamba for Structural performance evaluation 

  • Rhinoceros, Grasshopper and Python (within Grasshopper) for generation and processing of geometry dataset 

  • Python using the Keras API with TensorFlow for designing the deep learning models

> Workflow



Thesis Report Figure 1.4.1: Diagram showing the proposed framework



> Summary


In this thesis, the writer develops a workflow for early-stage design of 3D spatial truss structures. This is achieved by optimizing the structure based on structural performance, material use, and similarity to a defined stock of reusable materials (library) through a deep generative design framework. 


The deep generative design framework has 4 components: 

  • Material library (defined stock) 

  • Generated dataset for training 

  • Structural evaluation of the dataset 

  • Variational Autoencoders (VAE), surrogate model & gradient descent algorithm 


As a case study, the non-curved triangular spatial truss of the Orange Hall and Model Hall of the Architecture and the Built Environment Faculty of TU Delft is used. 


To create this workflow, the following steps were followed: 

  1. Creating an input dataset that contains different configurations of the spatial truss structure 

  2. Measure the performance of the variations in the dataset through a simulation based on 


    1. Structural performance 


    2. Material use 

    3. Similarity to the stock library 

  3. Train a surrogate model with the simulations 

  4. To train the VAE 

    1. Generate a new data point (design) using the VAE 


  5. Find optimal solutions though a gradient descent (GD) algorithm: 


    1. Evaluate the structural performance of the new design with the trained surrogate model 

    2. Update the VAE based on the analysis 

    3. Continue training until the GD can identify the optimum solution from new generated geometries  


Although not implemented in this thesis, an option to try to solve the same problem is as follows. A generative adversarial network (GAN) is another generative deep learning method that could be applied to the problem by using a combination of a GAN and a surrogate model to replicate the workflow, replacing the VAE with a GAN to generate and evaluate the meshes. 


LIMITATIONS: Most meshes produced by this workflow perform better than their original input under the same degree of design freedom, even though better outputs are predicted by the surrogate model for all meshes. 


SPECIAL NOTE: Full Grasshopper and Python scripts available in Apendix II of the thesis.  

> Additional Visuals




Thesis Report Figure 3.1.1: The base mesh & an example of a generated mesh




Thesis Report Figure 4.2.1: A schematic representation of the architecture of the surrogate model




Thesis Report Figure 4.3.8: Sample reconstructions from VAE exploration 16 with threshold values of 0.05 to 0.8





Thesis Report Figure 4.3.27: The workflow with integration of two separate VAEs; one for the top layer of the mesh and one for the bottom layer of the mesh

> Possible Applications


For ideas on how to implement some of the above mentioned techniques, please see

‘Possible applications for students to try with Generative Deep Learning”

bottom of page