Lesson 1.4Lesson 1.4 · Rhino & NURBS Fundamentals
From Rhino to Grasshopper
Referencing geometry, the live link, baking back, and when to go parametric
Grasshopper doesn't replace Rhino - it plugs into it. The first skill is moving geometry across the bridge in both directions, live.
Everything you have built by hand this module - clean curves, exact solids - can become the input to a parametric definition. The connection is a live link: reference a Rhino curve into Grasshopper, and when you edit the curve, the definition re-solves.
This lesson is that bridge. How to reference geometry (Set One, Set Multiple), how the live link and preview work, how to bake results back into Rhino, and the judgement every designer needs: when to model by hand and when to build a definition.
Reference in (pointer). Live link reads Rhino one-way. Bake out (snapshot). Don't parametricise one-offs.
What Grasshopper is, in one paragraph
Grasshopper is a visual programming environment that ships inside Rhino - open it by typing Grasshopper at the command line. Instead of writing code, you drag components onto a canvas and wire them together; data flows left to right, from inputs through operations to output geometry. Crucially, Grasshopper does not run in a separate world: its output is previewed live in the Rhino viewport, overlaid on your model in a lighter shade. The definition on the canvas and the geometry in Rhino are two views of one live system.
The rest of this course lives on that canvas. But before you can compute anything interesting, the definition needs something to work on - and very often that something is geometry you have already drawn in Rhino. So the first, foundational Grasshopper skill is not a fancy component; it is simply getting your Rhino geometry into the definition cleanly, and getting results back out when you are done. Master this bridge and Grasshopper stops feeling like a separate program and starts feeling like Rhino with a brain.
One clarification saves a lot of early confusion: Grasshopper does not generate its geometry in the definition file the way you might expect. The .gh definition stores the logic - the components, their wiring, the slider values - while the geometry it produces is computed on the fly and shown as a preview over your Rhino model. That separation is exactly what makes a definition reusable: the same logic can be pointed at different Rhino inputs and produce different results, because the logic and the geometry are deliberately kept apart. The bridge in this lesson is how you connect the two.
Grasshopper lives inside Rhino. Canvas + viewport = two views of one live system.
Referencing geometry: Set One, Set Multiple, and internalising
To feed a Rhino object into Grasshopper you use a parameter component - a container like Curve, Point, Surface, Brep or Geometry dropped on the canvas. Right-click it and choose Set one Curve (or Set Multiple Curves) and Grasshopper sends you to the Rhino viewport to pick the object(s). Now that parameter holds a reference to those Rhino objects - not a copy, a pointer. This is the everyday way a definition grabs 'this site boundary', 'these facade rails', 'that surface to panelise'.
Because it is a reference, the link is live: edit the original curve in Rhino - drag a control point, move it - and the parameter updates, so everything downstream re-solves automatically. That is the magic and, occasionally, the trap: if you delete the referenced Rhino object, the parameter goes empty and the definition breaks. When you want a definition to be self-contained - to travel to another file or stop depending on the Rhino objects - you internalise the data (right-click the parameter > Internalise), which bakes the geometry into the component and cuts the live cord. A useful habit: reference while you are actively designing and want the link; internalise when you want to hand the definition over or lock its inputs. Selecting by layer (or using a Geometry Pipeline component that grabs everything on named layers automatically) is where the clean-layer discipline from the last two lessons pays off directly.
The live link and preview - keeping the two in sync
Once geometry is referenced, you live in a two-window rhythm: the canvas where you build logic and the Rhino viewport where the result previews. Grasshopper geometry shown in the viewport is preview only - it is not real Rhino geometry yet, cannot be selected in Rhino, and vanishes if you close the definition. You can toggle a component's preview on and off (spacebar, or right-click) to keep the viewport readable, and a component shows its state by colour: grey is happy, orange means a warning (something is off but it ran), red means an error (it could not compute). Reading those states is a core debugging skill you will lean on for the rest of the course.
The live link is directional and worth understanding honestly. Changes to the referenced Rhino geometry flow into Grasshopper and re-solve the definition. But changes you make inside Grasshopper (moving a slider, rewiring components) do not alter your original Rhino objects - the definition only ever reads them. Your parametric output stays in Grasshopper's preview until you deliberately push it back across the bridge. This one-way-read, explicit-write-back model is what keeps the workflow safe: you can experiment freely in the definition without ever corrupting the hand-built Rhino geometry underneath.
This is also why the preview is such a gift while you design. Because the result updates the instant you drag a slider or edit the source curve, you get immediate visual feedback on every change - a tight, fast loop of 'adjust, look, adjust' that is the real pleasure of working parametrically. Keep previews on for the components you are actively judging and off for the intermediate plumbing, and the viewport stays a clear readout of the design rather than a tangle. Learning to curate what you preview is a small habit that keeps big definitions legible.
Grey = ok, orange = warning, red = error. Preview is not real geometry until you bake.
Baking: turning a definition's output into real geometry
When the definition produces something you want to keep - a panelised facade, an array of louvres, a set of fabrication curves - you bake it: right-click the output component and choose Bake, and Grasshopper writes the previewed geometry into the Rhino document as real, editable objects, on a layer you choose. Baking is the export step from the parametric world back to the ordinary Rhino world; only baked geometry can be dimensioned, detailed, exported to a fabricator, or handed to a consultant.
A few honest habits make baking painless. Bake onto a deliberate layer (respect the discipline from Lesson 1.2) so the results are organised, not dumped on the current layer. Understand that a baked object is a snapshot - it is now static Rhino geometry with no memory of the definition, so if you change a slider afterwards you must bake again to get the updated version (and delete or manage the old bake). For this reason many workflows keep the definition as the living source of truth and bake only at milestones - a design freeze, a drawing set, a fabrication release. Some newer workflows (Rhino's Grasshopper Player, or data-driven documentation) reduce manual baking, but the mental model is unchanged: the definition computes, and baking commits a chosen result into the Rhino file you actually deliver from.
The real judgement: model by hand or build a definition?
Not everything should be parametric, and a mature computational designer is as good at knowing when not to open Grasshopper as at using it. The honest heuristic is about repetition, variation and change. If a piece of geometry is a one-off - a sculptural stair, a specific context massing, a single feature - modelling it by hand in Rhino is faster and clearer. If it repeats (a facade of a thousand panels), varies by rule (openings that grow toward the sun), or will be swept and re-run (fifty layout options, an optimisation), a definition earns its keep many times over. The cost of a definition is the up-front effort of building and debugging the logic; the payoff is effortless change, reuse and scale. Below a certain complexity or repetition, that trade is not worth it - and forcing everything through Grasshopper is a classic beginner over-reach.
In practice, real projects mix both fluidly. You hand-model the site and the one-off moments, and build definitions for the systems: the panelised skin, the structural grid, the repeating detail. The two stay connected by exactly the bridge in this lesson - reference the hand-built context in, bake the parametric systems back onto their layers. That interplay, not a purist all-parametric model, is what actual computational practice looks like. With the bridge understood, you are ready to step fully onto the canvas: the next module opens Grasshopper itself and teaches the visual language you will speak for the rest of the course.
One-off? Hand-model it. Repeats/varies/sweeps? Build a definition. Real work mixes both.
Set One / Set Multiple
Reference picked Rhino object(s) into a parameter
The everyday way to feed geometry in. The parameter holds a live reference (pointer), not a copy.
Internalise data
Bake referenced geometry into the component
Cuts the live link so the definition is self-contained and portable. Do it before sharing a file.
Geometry Pipeline
Auto-reference all geometry on named layers
Turns clean layer discipline into an automatic input feed - no manual re-picking when geometry changes.
Bake
Write Grasshopper output into Rhino as real objects
The export step back to Rhino. Bake onto a chosen layer; the result is a static snapshot, so re-bake after changes.
Component state colours
Grey/orange/red status on the canvas
Grey = fine, orange = warning, red = error. Reading these is your core Grasshopper debugging habit.
Workshop - the full round trip
Do the complete loop once, end to end: hand-model a curve in Rhino, reference it into Grasshopper, run a simple parametric operation, and bake the result back onto its own layer. This tiny exercise contains the entire Rhino-Grasshopper relationship you'll use for the rest of the course.
Rhino 3D with Grasshopper (built in; trial or student licence). This is your first real Grasshopper touch - Module 2 opens the canvas properly.
Goal: perform a complete reference -> compute -> bake round trip Inputs: Rhino with Grasshopper open (type Grasshopper), a document in mm Time: ~30 minutes
- 1In Rhino, draw one clean curve on a layer called 'Input'. In Grasshopper, drop a
Curveparameter, right-click it, chooseSet one Curve, and pick your curve. Confirm the reference by hovering - the curve highlights. - 2Wire the curve into a
Divide Curvecomponent and add aNumber Slider(0 to 40) into its count input. Watch division points preview live in the Rhino viewport as you drag the slider. - 3Now go back to Rhino and edit the original curve (move a control point). Watch the Grasshopper points re-solve automatically - this is the live link. Then try deleting the curve and note the parameter goes red/empty; undo to restore it.
- 4Right-click the
Curveparameter andInternaliseit. Confirm you can now delete the Rhino curve WITHOUT breaking the definition - the geometry is baked into the component. (Undo if you want the link back.) - 5Add something to bake - e.g. small circles at each division point (
Circle). Right-click theCircleoutput andBake, choosing a layer called 'Output'. Confirm real, selectable Rhino circles appear on that layer. - 6Change the slider, re-bake, and observe you now have TWO sets - the old snapshot and the new one. Reflect in one line on why the definition, not the bake, is the living source of truth.
You’ll walk away with
A working round-trip file: an Input-layer curve referenced into a small definition, division points that re-solve live, and baked Output-layer geometry - plus a note on the difference between a live reference, an internalised input, and a baked result.
Three altitudes on the same idea
Read the band that fits you — or all three.
The bridge is how computation joins your real project, not a parallel toy model. Reference the site and hand-built massing in, drive the repeating systems - skin, structure, shading - parametrically, and bake deliverables onto controlled layers at each milestone. The judgement of what to make parametric versus hand-model is a project-management skill as much as a design one; over-parametricising a one-off wastes days you don't have.
Reference a curved wall or ceiling into Grasshopper, drive the repeating element - slats, tiles, perforations - as a definition, and bake clean cut-files back out. The live link means when the wall curve changes, the pattern re-solves; the bake gives your fabricator real geometry. For genuinely one-off pieces, stay in Rhino - the skill is knowing which is which.
This is the 'aha' moment where Rhino and Grasshopper become one workflow. Practise the full loop early: draw a curve, reference it, do something parametric to it, bake it back. Understanding references, the live link, baking and the hand-versus-definition judgement is exactly the fluency portfolios and interviews probe - and it makes the whole next module feel like home turf.
“Once I learn Grasshopper I should build everything parametrically.”
Do it yourself
Check you can cross the bridge both ways.
- 1What's the difference between a referenced input and an internalised one, and when would you internalise?
- 2The live link is one-way: which changes flow into Grasshopper, and which do not affect your Rhino objects?
- 3What does 'bake' do, and why is a baked object called a snapshot?
- 4Give the honest heuristic for deciding to hand-model versus build a definition.
- 5How does the clean-layer discipline from earlier lessons make referencing easier?
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.
- 04Woodbury, R. - Elements of Parametric Design — Routledge, 2010.
The bridge is crossed. In Module 2 you step fully onto the Grasshopper canvas - how it computes, what components and parameters really are, how to wire data and flow, and how to build your first complete working definition from scratch.
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 →