Skip to main content

Skeleton Editor

Create building massing with customizable offsets, coverage settings, and corridor options. generates edge segments, enclosures, and endcaps

Written by Holly Conrad Smith

Use this when you want to create building massing with customizable corner, offset, and corridor conditions within a flow, for example generating garden apartment massing or multi-family buildings.

Inputs:

. Input (feature): The input data.

. Transform (object): Transform controls (overridden by individual parameters).

Outputs:

· Segments (feature[ ··. ]): List of segment edges.

· Edgepolygons (feature[ ··· ]): List of edge polygons.

. Innercorners (feature[ ... ]): List of inner corners.

· Outercorners (feature[ ··. ]): List of outer corners.

. Endcap (feature[ ... ]): List of end-caps.

. Corridors (feature[ ... ]): List of corridors.

. Enclosures (feature[ ... ]): List of enclosures.

How To

  1. Add the skeleton editor node

    1. Connect the skeleton transform node into the T connector.

    2. Edit the settings by clicking "edit defaults"

  2. Connect the outputs to a write features node

    1. Or, connect outputs to additional nodes to further process the geometries

    2. The outputs are lists of geometric features. Use a map node if needed.

Skeleton Editor Settings

The Skeleton Transform automatically adds all of the required settings for the Skeleton Editor to your properties palette. Edit the values to change the flow result.

  1. Dwelling Depth

    1. Equal Offsets - both sides of the building are equidistant from the centerline

    2. Left/Right offset - set the width of the building from the centerline

    3. Endcap Extension - set the distance the endcap extends from the end of the building

    4. Endcap Wraparound - set the distance endcap units wrap back into the building

  2. Corners

    1. Inner core size - set the size of the core/amount the inner units are offset from corner

    2. Outer corner wraparound

    3. Inner / Outer corner type - set the style of corner (miter or straight)

  3. Corridor

    1. Has corridor - add a corridor to the center line

    2. Corridor width - set corridor width (total width)

  4. Default Usages

    1. Dwellings - edges

    2. Enclosures - when the skeleton self-intersects

    3. End Cap

    4. Inner Corner

    5. Outer corner

    6. Corridor

  5. Limbs - Click to add another arm/limb/extension onto the main shape

  6. Edit Mode - detail edit the corners, end caps, and sides.

    Use shortcut shift + a to enter edit mode!

    1. Drag nodes to change wraparound sizes

    2. Click corner edit nodes to change corner type

    3. Click the enclosure edit control to open Enclosure Settings. Set the enclosure's Usage, or turn on Remove Inner Units to remove the units on the sides of the skeleton that face into the enclosure.

  7. Reset - set everything to defaults

Use with Subdivide Rectangles

The Skeleton Editor and Subdivide Rectangles nodes work as a pair. The Skeleton Editor sets the building's shape: its edges, corners, end caps, corridors, and enclosures. The Subdivide Rectangles node then fills those edges with units.

Change the massing and where units go in the Skeleton Editor. Change the unit sizes and mix in the Subdivide Rectangles node.

Example: wrap-style development

In a wrap development, apartments wrap around a central parking garage. The Skeleton Editor and Subdivide Rectangles nodes model this layout without any extra nodes.

  1. Draw the skeleton so it creates an enclosure in the middle.

  2. Select the building and press Shift + A to enter edit mode.

  3. Click the enclosure edit control to open Enclosure Settings.

  4. Set the enclosure's Usage to Carpark - Multi-Deck.

  5. Turn on Remove Inner Units. The Skeleton Editor removes the units on the sides facing into the enclosure.

The Subdivide Rectangles node fills the outer edges with units, and the garage stays clear.

📷 Screenshot placeholder: a wrap building in edit mode with Enclosure Settings open and Remove Inner Units turned on. Replace this block with the image.

Did this answer your question?