Skip to main content

Stroke Dash

Use stroke dash to divide a line into segments of varying widths.

Written by Holly Conrad Smith

Use this when you want to divide a line into alternating segments of varying widths within a flow, for example generating a modular facade rhythm.

Stroke Dash is for creating line segments at a set pattern within a flow. To simply display a line as dashed, update the Dash property in Appearance. See Line Appearance.

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

Strokes

S

Object

List

The strokes output

Dashes

D

Object

List

The dashes output

How to

  1. Add the Stroke Dash node and the Stroke Dash Transform node. Connect the transform's output to the Stroke Dash node's T connector.

  2. Click “edit defaults” to set the starting values

  3. Edit the settings and outputs in Properties

Connect the Stroke Dash Transform node

The Stroke Dash node needs the Stroke Dash Transform node connected to its T connector to use your settings. Without it, the Stroke Dash 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 Stroke Dash node, which has its own connector for each setting and needs no transform node.

Stroke Dash Transform settings object

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

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

The Stroke Dash 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 Stroke Dash Transform node and the T connector, and set Property to a path like parameters.spacing.

Stroke Dash Settings

The stroke dash transform automatically adds all of the necessary properties to the properties palette.

  • Set the spacing (length) of each dash

  • Add more “Spacing” settings to have varying lengths

  • Set offset start

  • Set corner gap

Use the Stroke Dash node with exposed inputs

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

  1. Right-click the Stroke Dash 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.

Stroke Dash exposed inputs

Connector

What it does

Feature

Feature to stroke dash.

Spacing

Spacing between dashes.

Offset

Offset distance from start of line.

Corner Distance

Distance from corners to start dashing.

Normalized Corner Distance

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

Stroke dash Outputs

  • Provides 2 outputs: stroke and dash

    • S[]: the strokes

    • D[]: the dashes

  • Allows you to perform different operations on the stroke and dash outputs

  • Stroke/dash will always generate a pattern of stroke-dash-stroke-dash.

  • The pattern will always repeat in order

  • The first spacing value is always the “stroke” output.

  • If there is no second spacing value, the dash output will be the same

  • If a second spacing value is added, the second value will be the dash

  • Add many spacing outputs for a unique stroke-dash pattern

Did this answer your question?