This workflow was originally created by Cesar Escalante with Autodesk. (This post is a supplement to the webinar provided by Autodesk here).

Summary

Randomization workflows are a popular task for Generative Design. In fact, Generative Design is very efficient at generating a lot of results very quickly. This benefit is sometimes criticized as well because it does have the ability to create very large amounts of results. In this example, randomization is primarily effective because of the constraints and variables we have defined. With those constraints defined clearly in our Dynamo graph, we are able to truly curate our design and allow our data to tell our story.

One area of study that is very interesting is the randomization/optimization of a façade. In this post, we will create a façade randomization workflow that results in a large number of options in a way that is easily understandable. We will be able to parse these results efficiently and use selected results to create real Revit elements.

Included Revit Files

For this example, we have provided a beginning sample Revit 2022 file with a custom curtain wall included. In addition to the beginning file, we have a completed file provided to demonstrate what the end results can look like. The completed file includes several results embedded in design options.

Start File with Curtain Wall

End File with Complete Results (in design options)

 

Dynamo Graph Overview

Within a typical Dynamo graph, we generally have 3 sections. Inputs, Logic, and Outputs. For Generative Design we will typically expand upon these sections by dedicating portions of the graph to visualization and data checking. Below, we will provide an overview of the individual portions of the graph for this workflow. (Note: The graph is documented in greater detail within Dynamo with groups and notes)

  1. User Inputs– This graph includes inputs for the following:
    1. curtain wall (Revit selection)
    2. Module Count – This is the number of distinct submodules to appear.
    3. V Mod Divs- This is the number of vertical divisions of each submodule.
    4. V Seed / H Seed – These integer values serve as the “seed” for the randomization.
  2. Logic– The logic within this Dynamo graph prioritizes working in a modular basis.
    1. First, we work from the outermost geometry (the overall curtain wall)
    2. Then, we work into submodules that repeat.
    3. Within the submodules, we randomize the divisions.
  3. Preview- As with any Dynamo graph for Generative Design, we need to build a preview. This section does that by color-coding the panels by surface area.
  4. Outputs- We provide several outputs in this Dynamo graph to give users access to the data being used to generate the result.
    1. Unique – Number of unique panel types
    2. Max Panel Area – This is the size of the biggest panel in your result
    3. Max W Panel – Maximum width of your unique panel types.
    4. Min W Panel – Minimum width of your unique panel types.
    5. Max H Panel – Maximum height of your unique panel types.
    6. Min H Panel – Minimum height of your unique panel types.
    7. Ave H/W Ratio – The ratio (average) of your unique panel types Height and Width
    8. Total No – The total number of panel types being created.

In the video overview below we will observe how the above outputs aid the designer in making informed decisions. Of particular interest is the “Unique” output. This is really great when you are striving to minimize the number of unique panel types for fabrication.

 

 

All Sample Files are Available Here:

Generative Design Workflows