Skip to main content

Strip

Separate the first, middle, and last items of a list

Written by Holly Conrad Smith

Use this when you want to separate the first, middle, and last items of a list within a flow, for example isolating endpoints and interior points of a vertex list.

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

Middle

M

Object

List

The middle output

Start

S

Object

List

The start output

End

E

Object

List

The end output

How to

  1. Feed in a transform with an array of outputs

  2. Add the Strip node and the Strip Transform node. Connect the transform's output to the Strip node's T connector.

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

  4. Edit the settings and outputs in Properties

Connect the Strip Transform node

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

Strip Transform settings object

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

{
"type": "strip",
"parameters": {
"startCount": 1,
"endCount": 1
}
}

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

Strip settings

The strip transform automatically adds properties to the properties palette.

  • Define start count and end count

Use the Strip node with exposed inputs

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

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

  2. Connect your input to the List 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.

Strip exposed inputs

Connector

What it does

List

List to strip.

Start Count

Number of elements to strip from start.

End Count

Number of elements to strip from end.

Strip Outputs

  • The outputs of strip are start, middle, and end

    • M[]: the leftover items

    • S[]: the start count items

    • E[]: the end count items

In this example, the first/last are recolored to demonstrate how the list is divided with strip

Did this answer your question?