Skip to main content

Envelope

Generate your allowable envelope, or the extents of your buildable area, with this transform.

Written by Holly Conrad Smith

Use this when you want to generate the maximum allowable building envelope within a flow, for example visualising the extents of a buildable volume based on setbacks and height controls.

The Envelope refers to the three-dimensional space within which a building can legally be constructed on a given piece of land.

Category: Generative

Kind: Operation

Description: Creates an envelope or setback around a polygon with configurable offset distances. Generates building envelopes with height and story information.

Inputs

This node's settings come from the paired Transform node through the T connector. You can't wire a value straight into a single setting. To drive one setting from your flow, override it with a Write Property node between the Transform node and T.

Name

Abbreviation

Type

Access

Description

Input

I

Feature

Item

The input data

Transform

T

Object

Item

Transform controls (overridden by individual parameters)

Outputs

Name

Abbreviation

Type

Access

Description

Envelope

E

Object

List

The buildable envelope. This is the 3D shape a building can fill within your setbacks and height limits.

Setback

S

Object

Item

The setback footprint. This flat shape shows how far in from each edge of the lot you can build.

Usage Fills

U

Feature

List

The usage shapes that fill the envelope, based on your usage mix.

Warnings and errors

Message

Cause

Fix

No input provided to envelope

Nothing is connected to the input, or the connected node returns no geometry.

Connect a polygon to the input, and check that the upstream node is returning geometry.

Envelope error: floorToFloor not found for envelope fill <usage>

A usage used for the envelope fill has no floor to floor height.

Set a floor to floor height on that usage.

How to:

  1. Feed in a feature

    The feature could be a rectangle or polygon

    Typically, this comes from the Read Feature node, but it could also come from any other geometric output of prior nodes.

  2. Add the Envelope Transform node and connect its output to the Envelope node's T connector. Max height, setbacks, and every other envelope setting live on the Envelope Transform node.

    1. Click “Edit Defaults” to set the starting values for the flow

  3. Connect the outputs to Write Features nodes, or other nodes later in the flow.

  4. Edit the settings in the Properties Palette

Connect the Envelope Transform node

The Envelope node needs the Envelope Transform node connected to its T connector to use your settings. Without it, the Envelope node runs on Giraffe's built-in default settings, and you can't change any of them in Edit Defaults or the Properties Palette.

Envelope Transform settings object

The Envelope Transform node creates a set of inputs in the Properties Palette for anyone using the flow to fill out. It converts those inputs into a plain JSON object and sends it to the Envelope node through the T connector. The object has type set to envelope and the settings inside parameters. The values below are the built-in defaults.

{
"type": "envelope",
"parameters": {
"maxHeight": 12,
"sideIndices": {
"rear": [],
"front": [
0
]
},
"setbackSteps": {
"rear": [
{
"inset": 0,
"height": 3
},
{
"inset": 9
}
],
"side": [
{
"inset": 1
}
],
"front": [
{
"inset": 0,
"height": 3
},
{
"inset": 2,
"height": 3
},
{
"inset": 5
}
]
},
"hasSetbackOutput": true,
"version": "beta"
}
}

The Envelope Transform settings in the Properties Palette show lengths, areas, and volumes in your project units. The JSON always stores them in meters, square meters, and cubic meters, so a value you write into it with Write Property must use those units too.

Envelope Settings:

The envelope settings UI is the same in both the properties palette or in the "edit defaults" mode.

  • Properties palette edits only affect the current selection.

  • Edit Defaults affects the base condition every time you apply the flow to a new geometry.

  1. Max height - the height of the envelope before any angled setbacks are applied

  2. Sides

    1. the offsets and height restrictions may vary on different sides of your site

    2. You can define different values for every side.

    3. You can add as many unique sides as you need

  3. Add new side (after you’ve given it a name in the text box)

  4. Sides names - rename by double clicking the name

  5. Edit side setbacks, step backs, and angles

  6. Edit faces of the polygon which sides apply to

  7. Delete a side

  8. Enable Usage fills

  9. Enable setback polygon output

  10. Map edit mode

  11. Clear parameters (reset to defaults)

  12. Edit Mode toggle

  13. Forward properties

  14. Edit display name

Edit Heights and Setbacks

Many zoning codes have stepped setback requirements. The height and setback settings allow for any combination of stepped condition.

Maximum Height: Input the maximum height of the building allowable by code

Setback and Levels

Click the “setback and levels” button to open the editor.

Click and drag points to change their location, or select a point and input exact values

  1. Side name (label)

  2. Y axis - height above ground plane

    1. Max height shown with a red dash

    2. Heights of specific setback points shown on the axis

  3. X axis - Inset from polygon edge

    1. The amount the edge is set back from the polygon boundary

    2. Insets of specific setback points shown on the axis

  4. Selected Point

  5. Add another point

  6. The height of the selected point relative to the ground plane

  7. The inset of the selected point relative to the polygon boundary

  8. Delete the selected point

The combination of heights and setbacks results in an envelope shape:

Edit sides

Many zoning codes have different setbacks for different street frontages. Control different conditions and apply them to sides of your model.

By default, a front, rear, and side condition are included. Add a new side for more conditions.

Rename any side by double clicking the name.

There are 2 ways to apply a condition to the envelope geometry:

In the app UI:

Click the edge selection button

Click “select” on the applicable edges.

Click unselect to un-apply the condition.

On the Model:

Toggle “edit mode”

(or use the shortcut shift + a)

Click the red triangle at the center of an edge.

Select the condition to apply.

Tip: If one side of the polygon needs multiple different setback conditions, add a control point to the geometry to create another edge.

Envelope Output:

The default output of the envelope is a generic mass with no usage applied. The shape will reflect the setbacks, heights, and slopes applied.

Setback Polygon

Toggle on “setback polygon” to generate only the footprint of the setbacks as a flow output.

This will render the initial setback from the polygon boundary only. Additional step backs are shown only in the envelope output.

The setback polygon will appear so long as the setback output is connected to a Write Features node.

Usage Fills

With Usage fills toggled on, the envelope will generatively fill with Usages.

The Usages you add to the mix will each create a new output on the flow.

  1. toggle on/off

  2. Select another usage to add to the mix

  3. Click add to add the selected Usage

  4. Delete usage from the mix

  5. Swap to another usage

  6. Set the desired mix %

  7. Set floor to floor height of usage

  8. Set minimum sqft to add (override %)

  9. Set maximum sqft to add (override %)

💡 The left-most usage in the Fills section will be the bottom-most usage in the stack

The Usages will render within the envelope. The floors will honor setbacks and slopes.

Usages rendered by the generative mix will count toward site coverage and areas:

Clear Parameters

Reset the polygon to defaults. Note, this clears all work you have done.

Once cleared, add the defaults back by clicking “add default parameters.”

Did this answer your question?