Lesson 2.1Lesson 2.1 · Grasshopper Basics
The Grasshopper Canvas
The window where your definition lives - and how it computes
The canvas is not a drawing. It is a live machine that recomputes the instant you touch anything upstream.
Open Grasshopper and you get a big empty grid with a ribbon of tabs across the top. It looks like a blank sheet, but it is not a sheet at all - it is a wiring board for a small program you are about to build.
Before you place a single component, it pays to learn the room: where the palette lives, how the canvas talks to the Rhino viewport, and the one behaviour that makes everything click - that the whole board re-solves, left to right, every time a value changes.
Three regions: tabs, canvas, viewport. Always solved, left to right. Preview =/= bake.
What you are actually looking at
Grasshopper opens as its own window that floats over Rhino. Three regions matter. Across the top sits the ribbon of component tabs - Params, Maths, Sets, Vector, Curve, Surface, Mesh, Transform and more - each a drawer full of components you can drop onto the board. In the middle is the canvas: the large grid where your definition takes shape. And behind it all sits Rhino, whose viewport is where the geometry your definition produces is actually drawn. There is also a thin menu bar (File, Edit, View, Display, Solution, Help) and, at the far edges, a parameter viewer and remote panel you can ignore for now - the three regions above are what you live in daily.
The canvas is infinite and empty by design. You are not meant to draw here; you are meant to place and wire. Double-click anywhere on blank canvas and a small search box appears - type divide, hit enter, and a Divide Curve component lands under your cursor. That double-click search is the fastest way to work, and most experienced users barely touch the tabs once they know component names. But the tabs are how you learn what exists, so keep them in view early on. Panning is a middle-mouse drag (or arrow scroll); zooming is the scroll wheel; and a quick way to find your way back when you get lost is to zoom-extents the canvas so every component fits the view.
A definition you build is saved as a .gh file (the binary format) or the readable .ghx (an XML variant you can inspect in a text editor). Either way it is separate from your Rhino .3dm file. That separation trips up beginners: your parametric logic and your Rhino scene are two documents that talk to each other, not one file. Save both, and keep them side by side - a definition that references Rhino geometry expects to find that geometry when it reopens.
Double-click blank canvas -> type a name -> enter. Fastest way to place anything.
The palette: tabs, flyouts and zoom
The component palette lives in those top tabs. Click a tab - say Curve - and a panel of icons drops down, grouped into sub-sections (Primitive, Spline, Analysis, Division, Util). Each icon is a component you can drag onto the canvas. Hovering an icon shows its name; that is how you go from 'I need to split a curve into pieces' to finding Divide Curve under Curve > Division. The tabs are organised by what kind of thing a component works on - curves live under Curve, surfaces under Surface, numbers and logic under Maths and Sets - so once you know roughly what family a task belongs to, the right drawer is a good guess.
A lovely detail: the palette is zoomable. Grasshopper ships with well over a thousand components and the default icons are tiny, so if you hold and drag downward on a tab (the zoomable interface) the icons scale up until you can actually read them, then let go to place one. On a dense tab this is the difference between hunting and finding, and new users often miss it and squint instead. Many practitioners also install extra plug-in tabs (Kangaroo, Ladybug, LunchBox) that appear as additional drawers along the same ribbon - the palette is how the whole ecosystem shows up.
There is a second route worth knowing, and it is faster once you know names. Many parameters can be created by double-clicking the canvas and typing a value or expression: type 12 and Grasshopper offers a Number Slider preset already set near that value; type a point like 0,0,0 and it offers a Point parameter; type pi and it recognises the constant. So there are three ways to place things - the tabs (browse when you don't know the name), double-click search (fast recall when you do), and typed shortcuts (fastest for parameters and constants). Use whichever matches how well you already know the component you are reaching for, and expect to migrate from tabs toward search as your vocabulary grows.
Palette is zoomable - drag on a tab and the icons grow. Stop squinting.
The Rhino viewport link, and preview on/off
Here is the relationship that makes Grasshopper Grasshopper: the canvas computes geometry, and Rhino draws it. When a component produces geometry, Grasshopper previews it in the Rhino viewport in a soft green (selected components preview brighter). Nothing is 'baked' into the actual Rhino document yet - it is a live overlay that vanishes if you delete the component. To make geometry into real, editable Rhino objects you bake it (right-click > Bake), which is a deliberate one-way handoff.
Because a big definition can throw a lot of geometry on screen, every component has a preview toggle. Right-click a component and untick Preview (or select it and press the preview button) and its geometry stops drawing in Rhino while it keeps computing. You will lean on this constantly: preview only the final result, hide the scaffolding of intermediate points and vectors, and the viewport stays legible. There is also a global Preview off for unselected mode that shows only what you have selected - superb for debugging a busy canvas.
One more link: Grasshopper geometry lives in Rhino's coordinate space and units. A slider that reads 4 means 4 of whatever your Rhino file's units are - millimetres, metres, feet. Set your Rhino units before you build, or your circles will be a thousand times too big or small.
Preview = a live green overlay. Bake = turn it into real Rhino objects. Different things.
The one idea: it recomputes left to right
Everything above is furniture. This is the engine. A Grasshopper definition is a directed graph that evaluates from its inputs toward its outputs - conceptually left to right. When you drag a slider, Grasshopper does not re-run the whole board blindly; it marks that slider as changed and re-solves everything downstream of it, in order, while leaving everything upstream untouched. The result appears in the viewport in the same instant.
This is why the mental model of 'a live machine' matters. In CAD, changing something means editing an object. Here, changing something means feeding a new input and letting the computation flow forward. There is no 'apply' button and no undo-heavy rework; the graph is always already solved for the current inputs. If the canvas ever seems frozen, it is usually because a heavy component is recomputing, or you have accidentally created a very large amount of data - not because it broke.
Grasshopper enforces one hard rule that keeps this sane: data flows one way and the graph cannot loop back on itself (no wiring an output back into something upstream of it). That acyclic, one-way flow is exactly what lets it re-solve predictably every time. It also means the canvas has a clear reading direction - inputs on the left, results on the right - so a tidy definition physically mirrors the order in which it computes, which is why professionals lay their canvases out left to right on purpose.
There is a practical corollary worth internalising early: because the graph is always solved, you debug by trusting the current state, not by re-running things. If a result looks wrong, the wrong value is already on the canvas - drop a Panel anywhere along the chain and read the real data at that point. Nothing is hidden behind a build step. Internalise 'left to right, always solved' now and the next three lessons - components, wires, your first definition - will feel like variations on a single, calm idea.
No apply button. The graph is always already solved for the current inputs.
Canvas
The infinite grid where a definition is built
You place and wire components here; you never draw geometry on it directly.
Component tabs (palette)
The top ribbon of component drawers
Params, Maths, Curve, Surface and more. Zoomable so the tiny icons become readable.
Preview toggle
Per-component switch for viewport drawing
Turns a component's green preview on or off without stopping its computation - keeps the viewport legible.
Bake
Converting live preview geometry into real Rhino objects
A deliberate one-way handoff from the definition into the .3dm document.
Workshop - a guided tour of the empty room
No definition yet - just get completely comfortable navigating the window and its link to Rhino. Ten minutes here saves hours later.
Rhino 3D with Grasshopper (built in). No plug-ins.
Goal: fluent movement around the Grasshopper window Inputs: Rhino with Grasshopper open (free trial or student licence is fine) Time: ~20 minutes
- 1Open Grasshopper (type Grasshopper at the Rhino command line). Set your Rhino file units to metres before anything else (Options > Units).
- 2Pan and zoom the empty canvas with the mouse. Then double-click blank canvas, type 'slider', and place a Number Slider. Double-click it again and set its range 0 to 20.
- 3Open the Curve tab, hover a few icons to read names, and zoom the palette so the icons enlarge. Find Divide Curve by hovering, then place it via double-click search instead.
- 4Draw any curve in Rhino. In Grasshopper, place a Curve parameter, right-click it, choose 'Set one Curve', and pick your Rhino curve. Notice it now previews in the viewport.
- 5Right-click the Curve parameter and toggle Preview off, then on. Watch the green overlay vanish and return in the viewport without the component changing.
- 6Save the definition as a .gh file, and save the Rhino file as .3dm. Confirm to yourself they are two separate documents.
You’ll walk away with
A saved .gh file containing a slider and a referenced curve, plus a one-paragraph note in your own words on the difference between preview and bake.
Three altitudes on the same idea
Read the band that fits you — or all three.
Treat the canvas as your design's control room, not a sketch surface. The value for you is that massing logic, once wired, stays live: change a bay spacing slider and the whole scheme re-solves in the Rhino viewport you already trust. Get fluent with preview toggles early - a legible viewport is how you present options to a client without drowning them in scaffolding geometry.
The Rhino-plus-Grasshopper split is your friend for detailing. Model the room in Rhino, drive the repeating element - a slat screen, a tile field, a joinery rhythm - on the canvas, and preview it live against the real space. Because geometry only becomes real Rhino objects when you bake, you can explore twenty screen densities without cluttering your model until you commit.
Spend an hour just moving around the empty canvas before you build anything. Double-click search, zoom the palette, toggle previews, pan and zoom. Studios can tell in five minutes whether you actually live in Grasshopper or only followed a tutorial. Comfort with the room is invisible on a portfolio but obvious in an interview screen-share.
“The Grasshopper canvas is basically a drawing area, like a CAD layout tab.”
Do it yourself
Reason it through - most of these need no software.
- 1Name the three regions of the Grasshopper environment and what each is for.
- 2What is the difference between previewing geometry and baking it?
- 3If you drag a slider on the far left, which components re-solve - all of them, or only some?
- 4Why are your Rhino file's units important before you build a definition?
- 5Give two different ways to place a component on the canvas.
The one line to carry out
Peer-reviewed journals & authoritative standards
- 01Grasshopper - Algorithmic modeling for Rhino (official) — Robert McNeel & Associates, 2026.
- 02Mode Lab - The Grasshopper Primer (Third Edition) — grasshopperprimer.com (free online edition), 2020.
- 03Rhino Developer - Grasshopper guides — Robert McNeel & Associates, 2026.
- 04Rhinoceros 3D - Features & documentation — Robert McNeel & Associates, 2026.
You know the room and how it computes. Next we meet the things you place in it - the difference between components that do work and parameters that hold data, and how to read a component at a glance.
The author
Amogh N P
Architect, interior designer, and creative polymath. Studio Matrx began in his notebooks — his vision of design made honest, useful, and open to everyone. Its Academy is written and taught in his memory, and free, forever.
More about Amogh →