Skip to main content

Array

Use array to evenly space points along a polygon outline or line.

Written by Holly Conrad Smith

Use this when you want to evenly space points along a polygon outline or line within a flow, for example distributing trees, columns, or units around a boundary.

Category: Dendrogram

Kind: Operation

Description: Legacy dendrogram node for array

Inputs

This node runs in Transform mode by default, so its 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, or switch this node to Exposed Inputs to get a connector for each setting.

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

Primary

P

Object

List

The primary output

How to:

  1. Feed in a feature

    The feature could be a rectangle, polygon, or line

  2. Add the Array Transform node and connect its output to the Array node's T connector.

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

  3. Edit the settings in the Properties Palette

Connect the Array Transform node

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

OR

Use the exposed inputs version of the Array node, which has its own connector for each setting and needs no transform node.

Array Transform settings object

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

{
"type": "array",
"parameters": {
"spacing": [
10
],
"offset": 5
}
}

The Array 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.

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

Array Settings

  • Set the distance between the points

  • Add multiple spacings for variation

  • set the starting point (start offset)

  • Add special spacing at corners

  • Toggle corner spacing on/off

  • Allow the output geometry to scale by +/- a percentage. Set to 0 to get an exact count of points

Use the Array node with exposed inputs

The exposed inputs version of the Array node has its own connector for each setting, so you can wire values straight in without a Array Transform node.

  1. Right-click the Array node and choose Expose inputs. Giraffe replaces it with the exposed inputs version.

  2. Connect your input to the Feature connector.

  3. Type a value into each setting on the node, or connect a value to its connector. A Number node, a value from another node, or an Input Parameter all work.

  4. To let people using the flow change a setting in the Properties Palette, connect an Input Parameter to it. Settings without an Input Parameter stay hidden.

To get the exposed inputs version every time you add a node, turn on Show exposed inputs when creating new nodes (the gearbox icon) in the flow editor toolbar. Settings don't carry over when you switch between versions.

Array exposed inputs

Connector

What it does

Feature

Feature to array.

Spacing

Spacing between arrayed features.

Offset

Offset distance from original feature.

Corner Distance

Distance from corners to start arraying.

Normalized Corner Distance

Whether corner distance is normalized (0-1) or absolute.

Rotate To Line

Whether to rotate arrayed features to line direction.

Random Scale

Percentage to scale arrayed features.

Array Output

  • The output is the array of points generated

  • Assign a Usage or GLTF or Place a Block Instance on each point

Did this answer your question?