Skip to main content

Wrap

Generate a wrap building with residential units, corridors and courts around a parking garage

Written by Holly Conrad Smith

Use this when you want to test a wrap building within a flow, for example checking how much residential area wraps around a parking garage on an urban infill site. The Wrap node lays out a corridor ring around the garage, wraps residential units along every corridor, and opens courts wherever there is room. Change the residential depth or the court size, and the whole building updates.

Category: Generative

Kind: Operation

Description: Wraps residential polygons and corridors around a garage within a site.

Inputs

This node's settings come from the paired Wrap Parameters 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 Wrap Parameters node and T.

Name

Abbreviation

Type

Access

Description

Features

F[]

Feature

List

The site polygon to build the wrap within.

Garage

G[]

Feature

List

Optional. The garage polygon. Wrap uses it only when the site has no garage drawn on it.

Transform

T

Object

Item

The settings from the Wrap Parameters node.

Outputs

Name

Abbreviation

Type

Access

Description

Court

C[]

Feature

List

The open courts, at most one per quadrant.

Corridor

C[]

Feature

List

The corridor polygons, drawn at the corridor width.

CorridorLines

C[]

Feature

List

The corridor centerlines, carrying the offset and corridor width the Skeleton Editor node reads.

CorridorCenterlines

C[]

Feature

List

The corridor centerlines as plain lines.

Resident

R[]

Feature

List

The residential polygons, with their courts cut out as holes.

Every output keeps the site's properties. Wrap doesn't assign usages.

Wrap needs a garage. With no garage drawn on the site and nothing connected to the Garage connector, every output is empty.

Warnings and errors

Message

Cause

Fix

No input provided to wrap

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.

How to

  1. Open the flow in the Flow Builder and add the Wrap node.

  2. Connect your site polygon to the Features connector.

  3. Add the Wrap Parameters node and connect it to the T connector.

    • Click Edit Defaults on the Wrap Parameters node to set the starting values for the flow. Turn on Publish so the settings show in the properties palette.

  4. Select the site, click Add Garage in the Properties Palette, and draw the garage rectangle on the site.

  5. Connect the outputs to Write Features, or to more nodes to give them usages.

  6. Select a geometry that uses the flow and edit its settings in the Properties Palette. Click the revert icon on the settings group to go back to the defaults.

Connect the Wrap Parameters node

The Wrap node requires the Wrap Parameters node connected to its T connector. Without it, the Wrap node produces no output.

Wrap Parameters settings object

The Wrap Parameters 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 Wrap node through the T connector. The object has type set to wrap and the settings inside parameters. The values below are the built-in defaults.

{
"type": "wrap",
"parameters": {
"minCourtSize": 12.192,
"corridorWidth": 1.829,
"setback": 1.524,
"depth": 9.753
}
}

The Wrap Parameters 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.

To drive one setting from elsewhere in your flow, override it with a Write Property node. Put Write Property between the Wrap Parameters node and the T connector, and set Property to a path like parameters.depth.

Wrap settings

The Wrap Parameters node adds these settings to the properties palette. Every setting is a length in your project units.

  • Site Setback (default 5 ft / 1.524 m): how far the building sits in from the site boundary.

  • Residential Depth (default 32 ft / 9.753 m): the depth of the residential units on each side of a corridor.

  • Corridor Width (default 6 ft / 1.829 m): the total width of each corridor.

  • Minimum Court Size (default 40 ft / 12.192 m): the smallest court Wrap keeps. A quadrant gets a court only when its open space is at least this size in both directions. Smaller spaces join a neighboring court.

  • Add Garage: draw the garage rectangle on the site. A site holds one garage. Delete the existing garage to draw a new one.

How Wrap lays out the building

  1. Wrap insets the site by the Site Setback.

  2. It draws a corridor ring around the garage, and a perimeter corridor one residential depth in from the setback line.

  3. Two branch corridors run out from each side of the garage ring, one from each corner, to the perimeter. These eight branches split the site into eight quadrants: N, NE, E, SE, S, SW, W and NW.

  4. Wrap lines every corridor with residential units at the Residential Depth.

  5. In each quadrant with enough open space left over, Wrap opens a court.

Edit mode

Select the site and press Shift+A to show the Wrap handles on the map. The command is called Edit flow handles in the command bar. Each court shows in blue, labeled with its direction.

Choose the side of a Wrap court

Click a blue court on the map to open the Court Option popup, then choose Left or Right. The side you choose keeps its corridor and units. The other side of the court opens up. Wrap sets the opposite side on the two neighboring courts so the corridors line up around the building.

Use with the Skeleton Editor

Wrap sets out the corridors and courts. To turn them into detailed massing with corners, end caps and units, connect CorridorLines to the Skeleton Editor node and fill its edges with units using Subdivide Rectangles. CorridorLines carries the corridor width and offsets the Skeleton Editor needs.

To model a wrap building by hand instead, follow the steps to draw a basic wrap building.

Did this answer your question?