Studio Matrx Monthly · Volume 1 · Issue 3 · August 2026
Amogh N P
 In loving memory of Amogh N P — Architect · Designer · Visionary 
Components & ParametersLesson 2.2
CPD for Architecture, Planning & Urban Design/Module 2 · Grasshopper Basics

Lesson 2.2 · Grasshopper Basics

Components & Parameters

Verbs that do work, nouns that hold data - and how to read one at a glance

13 min Interactive lessonFree · open lessonByAmogh N P· Architect & interior designer
The hook

Two kinds of block do everything: verbs that act, and nouns that hold. Tell them apart and the whole canvas reads like a sentence.

The canvas fills with little coloured boxes, and at first they all look the same. They are not. Grasshopper has exactly two species of block - and knowing which is which turns a wall of icons into readable logic.

Components are verbs: they take data in, do something, and push data out. Parameters are nouns: they hold or supply data. A definition is just verbs acting on nouns, wired in a line. Learn to read one block - its inputs, outputs, tooltip and colour - and you can read any definition.

Verb or noun? Hover the nub. Read the colour. That is 90% of Grasshopper literacy.

Components are verbs; parameters are nouns

Here is the cleanest way to hold it. A component does something: Move, Rotate, Divide Curve, Extrude, Loft. It has inputs on its left edge and outputs on its right edge, and it transforms one into the other. If the name is an action, it is a component.

A parameter is something: a Number, a Point, a Curve, a Boolean. It holds data or supplies it. The three you will meet on day one are the Number Slider (a draggable number you tune by hand), the Panel (a text box that shows you whatever data flows into it - your window onto the stream), and the Point parameter (holds one or more points). If the name is a thing, it is a parameter.

The distinction is not pedantic - it changes how you wire. Parameters are your inputs and probes: sliders feed values in, panels read values out. Components are the machinery in between. A healthy beginner habit is to read your canvas aloud as a sentence: slider (a number) feeds Divide Curve (an action) which feeds a Panel (so I can see the result). When a definition confuses you, naming each block 'noun' or 'verb' is often enough to unstick it.

There is a subtlety that trips people up: every component input is itself secretly a little parameter. The C, N and K inputs on Divide Curve are internal Curve, Number and Boolean parameters - which is why you can right-click an input and set data into it directly instead of wiring a separate parameter in. So the line between component and parameter is really about the block's primary job: a Number Slider exists only to hold and supply a value, while Divide Curve exists to act, even though it holds small parameters at its edges. Hold the noun/verb split as your everyday reading tool and let that finer point sit quietly underneath it.

PARAMETERS (nouns) vs COMPONENTS (verbs)Parameters hold dataNumber SliderPanelPointComponents do workMoveDivide CurveExtrudeColour statesgrey = healthyorange = warningred = errorRULE OF THUMBIf it names a THING, it is a parameter. If it names an ACTION, it is a component.A slider is a noun that you can slide; Move is a verb that eats geometry and a vector.Orange usually means empty or partly wrong input; red means it could not run at all.
Zoom
The two species of block. Parameters (Number Slider, Panel, Point) are nouns that hold data; components (Move, Divide Curve, Extrude) are verbs that do work. The colour of a component - grey, orange or red - reports its health.

Read the canvas as a sentence: noun feeds verb feeds noun. If it sounds wrong, it is wired wrong.

Inputs and outputs: the nubs on the edges

Every component has small circular nubs on its edges - inputs on the left, outputs on the right. Each is labelled with a short code: Divide Curve takes C (curve), N (segment count) and K (kinks) on the left, and returns P (points), T (tangents) and t (parameters) on the right. Those cryptic letters are why Grasshopper feels alien for a week - and why the next skill matters so much.

Hover any nub and a tooltip tells you exactly what it wants: its full name, the data type it expects, whether it is a single item or a list, and often the default. Hovering N on Divide Curve reads 'Number of segments'. This is not optional trivia; hovering is how professionals learn components they have never used. Never guess what an input means - hover it.

Inputs can also carry default values and can be given data three ways: wired from an upstream output, set internally (right-click > Set), or supplied by a typed expression. When an input is empty and has no usable default, the component cannot run - which is where colour comes in.

Outputs are worth a moment too. An output nub can feed as many downstream inputs as you like, so a single component's result can drive several branches of a definition at once. Hovering an output tells you what it produces and, crucially, what shape that data is in - a single item, a list, or a tree. Getting into the habit of hovering outputs, not just inputs, is how you keep track of the data as it grows; a component that quietly turned one point into a hundred is something you want to notice at its output, not three components later when everything mysteriously multiplied.

ANATOMY OF A COMPONENTDivide CurveCNKPTtINPUTS (left) -> data goes inOUTPUTS (right) -> data comes outC = curve to divideN = number of segmentsK = kinks toggleP = division pointsT = tangent vectorst = curve parametershover N: Number of segments
Zoom
Reading a component: inputs (C, N, K) sit on the left edge, outputs (P, T, t) on the right, and hovering any nub reveals its full name, type and whether it wants a single item or a list. Never guess a nub - hover it.

Never guess a nub. Hover it. The tooltip tells you type, name and single-vs-list.

Right-click menus: where components are configured

The right-click (context) menu is the hidden control panel of Grasshopper, and beginners under-use it badly. Right-click a component and you can rename it, toggle its preview, disable it entirely, or reach input-specific options. Right-click an individual input nub and you unlock its real power: Set one/many (type data straight in), Flatten / Graft / Simplify (reshape the incoming data structure - Module 3's subject), Reverse, Expression (do quick maths on the value as it arrives, like x*2), and more.

On a Number Slider, right-click opens the range and type editor: set the minimum, maximum, whether it is an integer or a floating-point value, and how many digits. Getting a slider's range and type right is half of making a definition behave - an integer slider for a count, a floating slider for a radius. A slider whose range runs 0 to 1000 when you only ever need 1 to 20 is fiddly to control and invites nonsense values, so tune the range to the real design intent, not to some default.

A Panel is worth befriending immediately. Wire any output into a Panel and it prints the data as text, with branch and index structure shown. It is the print statement of visual programming - your first and best debugging tool. When something is wrong, drop a Panel on the suspect wire and look at the actual data before theorising. Its cousin the Value List (a drop-down of preset options) and the Boolean Toggle (a true/false switch) round out the handful of input parameters you will reach for constantly - together with the slider and panel they cover most of what a beginner definition needs to be controllable and readable.

Panel = the print statement of Grasshopper. When stuck, look at the real data first.

Colour states: grey, orange, red

Components tell you their health by colour, and reading it is a genuine skill. The default healthy state is a soft grey-green - the component ran and produced output. That is what you want almost everywhere.

Orange means a warning: it ran, but something is off - an input is empty, a list is shorter than expected, or the component had to make an assumption. Orange is not fatal; often it just means you have not wired an input yet. Hover the component and a message explains the specific warning. Treat orange as 'read me', not 'panic'.

Red means an error: the component could not run and produced no valid output, so everything downstream of it also fails. A red component usually got the wrong type of data (a curve where it needed a number), or an impossible value. Again, hover it - Grasshopper prints the exact reason ('1. Data conversion failed from Curve to Number'). The discipline is simple and worth building from lesson one: when a component goes red or orange, hover it and read the message before changing anything. Ninety percent of debugging is just reading what Grasshopper already told you.

A fourth state is worth knowing so it does not alarm you: a washed-out, pale component has been disabled (right-click > Disable, or the preview/enabled toggle), meaning you switched it off on purpose so it neither computes nor previews. That is a deliberate tool, not a fault - handy for temporarily muting part of a definition while you test another. Finally, a selected component draws in a green highlight and previews brighter in the viewport; that green is selection, not health, so do not confuse it with the grey-green healthy state. Put together, colour gives you an at-a-glance health map of the whole canvas: scan for orange and red first, and you find every problem in a definition in seconds without reading a single wire.

Grey = happy. Orange = read me. Red = it couldn't run (and neither can anything after it).

Blocks and terms you'll meet in this lesson

Number Slider

A parameter: a draggable numeric value

Your main hand-tuned input. Right-click to set range, and integer-vs-float - crucial for it to behave.

Panel

A parameter: a text box that displays incoming data

The print statement of Grasshopper - wire any output into it to see the real data. Your first debugging tool.

Point

A parameter that holds one or more points

A noun that supplies coordinates to components; set internally or wired from an output.

Divide Curve

A component: splits a curve into equal segments

Inputs C, N, K; outputs P (points), T (tangents), t (parameters). A canonical verb you will use constantly.

Colour state

A component's grey / orange / red health signal

Grey = ran fine; orange = warning; red = error (no output). Hover for the exact message.

Hands-on workshop

Workshop - dissect three components

You will place a few components and parameters, deliberately break one, and read what Grasshopper tells you. The goal is fluency at reading a block, not a finished design.

Rhino 3D with Grasshopper. No plug-ins.

Given & goal
Goal: read inputs, outputs, tooltips and colour states with confidence
Inputs: Grasshopper open, any curve drawn in Rhino
Time: ~25 minutes
  1. 1Place a Number Slider, a Panel, and a Divide Curve component. Reference your Rhino curve into a Curve parameter.
  2. 2Hover every input and output nub on Divide Curve and write down, in plain English, what each of C, N, K, P, T and t means.
  3. 3Wire Curve into C and the Slider into N. Wire the P output into the Panel. Read the points listed in the Panel - that is your real data.
  4. 4Right-click the Slider and set it to integer, range 1 to 40. Drag it and watch the Panel's point count change live.
  5. 5Now break it on purpose: wire the Slider into C (a number where a curve is expected). Note the component goes red. Hover it and copy the exact error message.
  6. 6Fix it, then right-click the N input and add the expression x*2. Confirm the point count doubles without adding any component.

You’ll walk away with
A screenshot of your canvas with the Panel showing point data, plus the exact red-error text you captured and a one-line explanation of what caused it.

The worked example

Three altitudes on the same idea

Read the band that fits you — or all three.

For the architectDesign intent, geometry & delivery

Fluency with inputs and outputs is what lets you assemble unfamiliar tools fast. You will constantly reach for a component you have used twice - a panelling or analysis node - and the only way to wire it correctly under deadline is to hover its nubs and read the types. Make slider ranges meaningful too: a bay-count slider as an integer, a floor-height slider as a bounded float, and your model resists nonsense inputs in a review.

For the interior designerParametric interiors, pattern & furniture

Parameters are how you expose the few controls that matter and hide the rest. For a client-facing screen or lighting layout, wire the whole definition, then surface just two or three well-labelled sliders - spacing, size, density - and drive everything else internally. A Panel on the output lets you sanity-check counts and dimensions against a real room before you bake or send anything to fabrication.

For the studentSkills, portfolio & jobs

Learn to read colour and tooltips before you learn any 'cool' component. Red and orange are not failures, they are the tool teaching you; hovering to read the message is the single habit that separates confident students from stuck ones. Drop Panels everywhere while learning - seeing the actual data flowing through demystifies the whole thing faster than any tutorial.

Misconception check

An orange or red component means I broke Grasshopper and should undo.

Not at all - colour is Grasshopper communicating, not complaining about you. Orange is a warning (it ran, but check something, often an unwired input); red is an error (it could not run, usually because it received the wrong data type). Both come with a specific written message you get by hovering. Undoing blindly throws away that information. The professional reflex is the opposite: pause, hover, read the exact message, and fix the one thing it names. Errors are the fastest teacher in the tool.
Try it

Do it yourself

Check your grasp - mostly no software needed.

  1. 1Give one clear test to decide whether a block is a component or a parameter.
  2. 2Name the three beginner parameters and what each is for.
  3. 3On a component, which side holds inputs and which holds outputs?
  4. 4What should you always do before guessing what an input nub expects?
  5. 5A component turns red. What has usually happened, and what is your first move?
Take this with you

The one line to carry out

Grasshopper's whole vocabulary is components (verbs that take inputs and produce outputs) acting on parameters (nouns like Number Slider, Panel and Point) - and every block tells you its type through hovered tooltips and its health through grey, orange or red. Read the block, read the colour, and the canvas reads like a sentence.
Take it further
References & further reading

Peer-reviewed journals & authoritative standards

  1. 01Mode Lab - The Grasshopper Primer (Third Edition)grasshopperprimer.com (free online edition), 2020.
  2. 02Grasshopper Docs - component referencegrasshopperdocs.com, 2026.
  3. 03Rhino Developer - Grasshopper guidesRobert McNeel & Associates, 2026.
  4. 04Rutten, D. - The Guide to Grasshopper (community)grasshopper3d.com, 2026.
Related lessons
Recap
Components do work and have inputs on the left, outputs on the right; parameters hold data - Number Slider, Panel, Point. Hover any nub to learn what it expects; right-click to configure sliders, set data, or reshape it. Colour is communication: grey is healthy, orange is a warning, red is an error with no output. Hover to read the exact message.
Carry forward →

You can read a single block now. Next we connect them - how a wire carries data from an output to an input, the golden one-way rule, and how the wire's own appearance tells you the shape of the data travelling through it.

A

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 →