Loom
Grasshopper component
Drop a single component on the canvas. Feed it a prompt. It adds sliders, panels, circles, trees — and wires them up. Two-pass execution: add/remove, then move/set/connect.
Two plugins. One model. Speak geometry into existence on the Grasshopper canvas and the Rhino scene — no more hand-wiring definitions or hunting through menus.
Grasshopper component
Drop a single component on the canvas. Feed it a prompt. It adds sliders, panels, circles, trees — and wires them up. Two-pass execution: add/remove, then move/set/connect.
Rhino command
A Loom command in Rhino. Type a prompt, the model
returns a Python snippet, it runs on the active document. Edits
curves, surfaces, layers, blocks — geometry you can immediately
orbit around.
rhino> Loom
› Make a 12×8 grid of spheres on a
sine-modulated plane, radius 0.4.
→ generating…
→ 96 spheres added to layer "grid".
✓ done in 1.4s
A prompt goes in. The plugin serializes the current canvas or scene as plain text — components, parameters, layers, selection.
The model returns a structured tool-call plan. No raw JSON to parse, no regex. Each call is a typed operation with a schema.
Pass one: add/remove. Pass two: move/set/connect. The canvas (or document) is mutated in a single, undoable batch.
“Add a number slider for the radius, add a circle, and wire the slider to the circle’s radius.”
add_component Number Slider nickname=R (100,200) {min:0 max:10 value:5}
add_component Circle nickname=C (400,200)
connect R.out → C.radius
“Create a 12×8 grid of spheres on a sine-modulated plane.”
Loom → python
for x in 12×8 grid:
y = sin(x*0.4) * 0.8
rs.AddSphere((x, y, 0), 0.4)
“Add a panel that displays the area of the largest closed curve on the canvas.”
add_component Area nickname=A (300,100)
add_component Largest nickname=L (500,100)
add_component Panel nickname=Area (700,100) text="—"
connect C.out → L.curve
connect A.out → L.area
connect L.area → Panel.text
Trial
€0
14 days · full access
Personal
€10/mo
billed monthly · cancel anytime
Studio
€30/mo
up to 5 seats
Available now on the official McNeel directory.
Get on Food for RhinoMac & Windows · Rhino 8 · 14-day trial included
Before you start. You'll also need an OpenCode Go
subscription for the LLM backend (€5 first month, €10/mo after).
Sign up at opencode.ai
and drop your key in a .env next to the plugin — Loom picks it up automatically.