Struts component icon

Struts

Nickname StrutsMorphe › 2. Implicit › LatticeOutputs Implicit

Creates an Implicit from polylines rendered as solid capsules (struts). Each polyline segment becomes a capsule and the result is their union. Radii can be uniform, an arc-length taper, per vertex, or per segment.

Inputs

NameNickTypeDefaultDescription
PolylinesPCurvelistPolylines to convert into struts. Each curve must be a polyline (a line is a single-segment polyline); arcs, circles and NURBS curves are rejected: convert them to polylines first.
Start RadiusoptionalRSNumbertreeStrut radius: the start radius when End Radius is set (defaults to 1). Polylines (connected paths): set End Radius to taper Start→End along each path. With End empty, this is the radius profile: a flat list of one value is uniform, and (for a single polyline) one value per vertex sets each vertex; for several polylines, one value per polyline gives per-polyline uniform radii, or supply a tree with one branch per polyline (each branch: one value = uniform, two = taper, one per vertex). Line segments (all single-segment inputs): one value is uniform, or one value per segment; pair with End Radius to taper each segment.
End RadiusoptionalRENumberlistEnd radius for tapering. When supplied, each strut tapers from Start Radius to End Radius: arc-length along polylines, linearly along single segments. One value (all), or one per polyline / per segment. Leave empty for no taper.
BlendoptionalKGenericOptional smoothing radius for a smooth union: a number for a uniform fillet, or a Field to vary it in space. Empty or 0 = hard union.

Outputs

NameNickTypeDescription
ImplicitIImplicitThe output implicit.

Example definition

Four ways of giving struts a radius
A slot-shaped closed polyline, arrayed around the Z axis by Grasshopper's Polar Array, becomes a ring of struts whose radius follows a per-vertex profile: thin at the bottom, thick at the top, equal where the loop closes. Blend fillets the neighbours at the axis. Alongside it, three smaller examples show a Start-to-End taper by arc length, independent line segments with a radius per segment, and a single uniform radius.
Try
  • Change N to add slots: Duplicate Data and Partition List repeat the radius profile once per copy, one branch per polyline.
  • Raise Blend to fuse the slots where they meet at the axis.
  • Edit the Radius profile list: one value per vertex, with the first and last the same so the loop closes smoothly.
Download struts.gh8 KB · Rhino 8 · Morphé 1.0

Messages

What the component may report, shown as a balloon on the canvas.

LevelMessage
WarningNo polylines supplied.
ErrorOnly polylines are accepted. Convert arcs / curves to polylines first (e.g. with a Polyline or Curve-to-Polyline component).
WarningNo usable polylines.
WarningNo segments produced from the input polylines.
ErrorCould not determine the struts' bounding box.
Written for Morphé 1.0 · Rhino 8