Generative Design Primer
  • Welcome
  • Introduction to Generative Design
    • Computational Design
    • Generative Design
      • What is Generative Design?
      • Why should I use Generative Design?
      • What goes into a Generative Design Process?
        • Anatomy of each stage
      • Examples of Generative Design
        • MaRs Innovation District of Toronto
        • Furniture Design
        • A Further Analogy
      • Anatomy of a Good Generative Design Process
    • Visual Programming
    • Dynamo
    • Generative Design for Revit and Dynamo
  • Deeper Dive to Generative Design
    • Algorithms
      • What are Algorithms?
      • Generators
      • Evaluators
      • Solvers
    • Optioneering
    • Optimization
      • What is Optimization?
      • Objective Function
      • Constraints
      • Data
      • Defining Goals
    • Genetic Algorithms
      • What is a Genetic Algorithm?
      • Initialization phase
      • Evaluation Phase
      • Selection Phase
      • Crossover Phase
      • Mutation Phase
    • Other Techniques
    • Genetic Algorithm Q&A
  • Hello Generative Design for Revit and Dynamo!
    • Installing Generative Design
    • Setting up a Graph for Generative Design
    • Running Generative Design
    • Visualizing Results in Generative Design
    • Refinery Toolkit
      • Installing the Refinery Toolkit from the Dynamo Package Manager
      • Using the Refinery Toolkit
    • Space Analysis for Dynamo
      • Installing the Space Analysis for Dynamo package from the Dynamo Package Manager
      • Using the Space Analysis Package
    • Using Revit alongside Generative Design
      • Using Data from Revit
      • Remember Node Inputs
      • How to Test Revit Data Capture
      • Detailed Example Workflow
      • Sharing Logic and Results
      • Current Limitations
      • Accessing Generative Design Directly From Revit
  • Sample Workflows
    • Getting Started Workflows
      • Highest Point of a Surface
      • Minimum Volume and Maximum Surface
    • Architectural Workflows
      • Building Mass Generator
      • Building Positioning based on Solar Analysis
      • Office Layout
      • Grid Object Placement in a Room
      • Entourage Placement Exploration
    • MEP Workflows
      • Distributing Spotlights in an Office Space
    • Structural Workflows
    • BIM Workflows
      • Placement of views on sheets
    • Community Examples
      • Guidelines
      • List Of Examples
  • Generative Design in Your Office
    • What Generative Design Can Be Used For?
    • What Generative Design Can’t Be Used For?
    • How to Convince Senior Stakeholders of Using Generative Design?
    • The Role of a Generative Designer
    • Hiring a Generative Designer
  • Next Steps
    • Machine Learning
      • What is Machine Learning?
      • Is Generative Design Machine Learning?
      • Can Machine Learning and Generative Design Work Together?
  • Appendix
    • Glossary
    • Reference Material
    • Need Professional Help?
Powered by GitBook
On this page
  • Description
  • Static Inputs
  • Variable Inputs
  • Functions
  • Evaluators
  • Visualization
  • Benefit of Using Generative Design
  • Results
  • Video Tutorial

Was this helpful?

  1. Sample Workflows
  2. Architectural Workflows

Building Mass Generator

PreviousArchitectural WorkflowsNextBuilding Positioning based on Solar Analysis

Last updated 16 days ago

Was this helpful?

Description

This graph, used with the Randomize mode, will generate a series of random towers, sitting across a stipulated site boundary.

The tower will randomize heights, floor plate designs and orientations, allowing for a large number of potential design solutions within minutes.

We will work with the Randomize method because in this example we are interested in navigating through a variety of building shapes rather than optimizing an evaluator. Some of the variables used in this workflow are intended to create variation rather than optimization, so using this method is more appropriate.

Static Inputs

Name

Description

Site boundary

Select the site boundary lines from the Revit model (model curves)

Variable Inputs

Name

Description

Site offset (mm)

A number to define the offset from the site boundary

Building height (mm)

Range for the total height of the tower

Floor height (mm)

Range for the floor-to-floor height of the tower

U Values (%)

U Parameters at surface for the seven points that will create the base floor plate

V Values (%)

V Parameters at surface for the seven points that will create the base floor plate

Functions

The script is made up of a series of functions, which are divided into groups inside the graph. Each group has a name and a short description, where the name indicates the type of function being run and the description explains in more detail the process.

The graph takes the site boundary from Revit, the offset, and the U and V values from the user inputs and generates the base floor plate for the new tower inside the allowed space. Using the building height and the floor-to-floor height, the script then generates all the other floors based on the initial floor plate with slight variations. Once all the floor plates are created, the script creates the external walls by lofting the outer floor boundaries.

With the geometry of the building generated, the script then evaluates the design based on the outputs defined.

Evaluators

Name

Description

Public realm area (m2)

The total area available at ground floor that sits outside of the floor plate but inside the site boundary

Total building area (m2)

The total area of the entire building

Lift provision area (m2)

The total area of the lifts required for the building

Visualization

When geometry is created in Dynamo, often other geometry is needed to facilitate the overall process.

Please note that all unnecessary geometry has been switched off in Dynamo - this is to ensure the geometry displayed shows the final geometric output. Any nodes with the preview switched off will not display the output visually in Explore Outcomes.

In this case, only the site boundary (the tower's external walls and floors) will be visible. This will provide the user with the ability to critique the design options based on aesthetics within the thumbnail or detail view.

A series of context buildings have been included in the Revit sample file for a better understanding of the exercise.

Benefit of Using Generative Design

When running the script in Dynamo, a single design option is generated for each run, based on the current user inputs. However, by running the script in Generative Design for Revit and selecting Randomize as the generation method, many more options can be generated at the same time.

Due to the nature of this graph, it works best when using the 'Randomize' mode. Although the outputs can be used to maximize or minimize the various areas, the optimization approach won't work as there is no pattern for the algorithm to use. By using the 'Randomize' mode, Generative Design can produce hundreds - if not thousands - of different iterations, allowing the user to rank and explore the options to find the best option.

Results

Once running the study type is finished, the outcomes can be explored through the tables and graphs available.

The image below shows an example output from a randomized study based on 40 solutions.

Video Tutorial

Workflow files for Revit 2023
Workflow files for Revit 2024
Workflow files for Revit 2025
Workflow files for Revit 2026
Architectural Workflows