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

Was this helpful?

  1. Sample Workflows
  2. Getting Started Workflows

Minimum Volume and Maximum Surface

PreviousHighest Point of a SurfaceNextArchitectural Workflows

Last updated 25 days ago

Was this helpful?

This is a multi-objective optimization problem, with two competing objectives. This example consists of three cuboids with different variable parameters, such as height and location. The objectives of the graph are to find an option with minimal volume and maximum combined surface area.

The three cuboids ('C1', 'C2' and 'C3') represent buildings and can vary in different ways:

  • C1 can only change in height.

  • C2 and C3 can vary in both height and location.

We describe these two goals as 'competing' because both goals vary in the same direction meaning that increasing the floor area increases the surface area and visa versa. As a result, there is no one optimal solution maximizing floor area and minimizing surface area and we get a set of optimal solutions on Pareto front.

Above: The three cuboids joined together to form one solid.

It is important to make sure here that all the nodes controlling the size and location of the cuboids are set as 'IsInput' in the Dynamo graph.

Whenever an input parameter is changed, the option's volume and total surface area will be re-calculated. These two values are the 'fitness' values and need to be set as 'IsInput' in the Dynamo graph.

When running this graph, you will need to follow these steps:

  1. Use the 'Optimize' generation method.

  2. Under 'Inputs', make sure that all inputs are selected.

  3. Under 'Outputs', set 'TotalSurfaceArea-MAX' to 'Maximize' and 'TotalVolume-MIN' to 'Minimize'.

  4. Under 'Settings', input your 'Population Size' and the number of 'Generations' you want.

  5. Under 'Issues', resolve any items.

  6. Click 'Generate'.

A multi-objective optimization run will not return one single result, but instead it will show all of the 'non-dominated' options. A 'non-dominated' option means simply that you can't make an option that is better in one of the objectives without compromising another.

By arranging the scatterplot with the 'TotalSurfaceArea-MAX' on the Y-axis and the 'TotalVolume-MIN' on the X-axis, it's easy to browse the options and find the best trade-off solution.

Workflow files for Revit 2022
Workflow files for Revit 2023
Workflow files for Revit 2024
Workflow files for Revit 2025
Workflow files for Revit 2026