Guides
Feb 23, 2026

Grasshopper for Beginners: The 80–20 Guide to Essential Components

Grasshopper for Beginners: The 80–20 Guide to Essential Components

The 80–20 Rule for Learning Grasshopper

Most beginners open Grasshopper and think:

“I need to learn everything in this interface.”

You don’t.

Grasshopper is an ocean. But to start swimming, you only need a shallow pool. You’ll be surprised how little you need to know to start building powerful definitions.

1. Params

Params contain all your data containers and input components.

1.1 Params → Geometry

Think of these hexagonal icons as containers. Inside each hexagon, you see a small geometry symbol. They don’t create geometry. They hold, store, and reference data.

Point – Holds point or multiple points.
Curve – Holds any Line, Circle, Arc, Polyline, or any NURBS freeform curve.
Surface – Holds a single surface (trimmed or untrimmed) or a list of individual surfaces.
Brep – Holds both single surfaces and polysurfaces (joined surfaces / solids).

1.2 Params → Primitive

Primitive components store basic data types like numbers, integers, text, booleans, and domains. They help convert or control data, for example, turning 7.84 into 8 (Integer), or 0 into False and any value above 0 into True (Boolean).

1.3 Params → Inputs

These components let you define and control variables inside your Grasshopper script.

Number Slider – Adds a numerical input.
Panel – Displays data (debugging tool) and can also be used as manual input.
Boolean Toggle – Turns something on/off or defines a pattern (True / False).
Button – Triggers or resets simulations (e.g. Kangaroo).
MD Slider – 2D number slider (number sliders for curves vs MD slider for surfaces).
Image Sampler – Imports an image and extracts color values for workflows.
Colour Swatch – Defines a color (materials, previews, etc.).
Graph Mapper – Remaps numbers non-linearly for more controlled variation.

1.4 Params → Util

These are additional utility tools. You can ignore most of them for now (Param Viewer, Data Recorder, Data Dam, etc.). For now, just use Scribble, it lets you add text on the canvas to document and organize your script.

2. Math

The Math tab contains components that let you control numbers.

2.1 Math → Domain

Domains define numeric ranges. Think of them as instructions that tell other components what limits to work within.

Construct Domain – Creates a numeric range between two numbers (e.g. 3 → 10).
Deconstruct Domain – Extracts the start and end numbers from a domain.
Bounds – Finds the minimum and maximum value of a list.
Remap Numbers – Converts a set of numbers into a desired range (very useful for Design for Manufacturing).

2.2 Math → Operators

Basic mathematical operations. For beginners, You can ignore Matrix, Noise, Polynomials, Time and Util tabs.

Add / Subtract / Multiply / Divide – Combine numbers using standard math operations.
Negative – Converts a number into its negative value.
Mass Addition – Adds a list of numbers together.
Larger Than / Smaller Than – Compares numbers (useful for logic and DfM checks).

2.3 Math → Script

Write custom logic when components are not enough with Python, C# Or write mathematical formulas with Expression.

2.4 Math → Trig

Used when working with angles. Degrees / Radians onvert degrees to radians and vice versa (important because Grasshopper calculates in radians internally).

3. Sets

The Set tab contains all list and data tree operations. Think of it like this:
A List = a single branch
A Tree = multiple branches (many lists together)

This is the most difficult part of Grasshopper. It requires experience. But as a beginner, you only need a few key components.

3.1 Sets → List

A List is like a single branch of a tree. The leaves on that branch are the items. These components manage a single list (single branch).

List Item – Pick one specific item from a list (like selecting one object in Rhino).
List Length – Count how many items are inside a list.
Dispatch – Split one list into two lists using a True/False pattern.
Weave – Opposite of Dispatch (combine two or more lists into one using a pattern).

3.2 Sets → Sequence

Used to create ordered data.

Cull Index – Remove a specific item from a list (opposite of List Item).
Range – Create a range of evenly spaced numbers within a domain.
Series – Create a numerical sequence (start + step + count).
Random – Generate random numbers.

3.3 Sets → Text

Used to manipulate text data. You can Join text (Concatenate), Split text, Format strings. Very useful for Custom G-code generation and Data labeling.

3.4 Sets → Tree

Trees are multiple branches grouped together.
Some components automatically create complex trees at the output.
Some components require structured trees as input.

Flatten – Convert multiple branches into a single branch (one list containing all items).
Graft – Take each item and place it into its own branch (one leaf per branch).

4. Vectors

The Vector tab defines the spatial structure of your script. Here you control Points, Planes, Vectors and Grids. This is where geometry gets positioned, oriented, and directed in space.

4.1 Vec → Grid

Used to create structured or random point distributions.

Square / Hexagonal – Create structured grid patterns (great base for pattern workflows).
Populate 2D / Populate 3D – Populate a rectangular or cubical region with random points.
Populate Geometry – Populate random points on the “skin” of a mesh, surface, or polysurface.

4.2 Vec → Plane

Planes define orientation in 3D space. Many operations need a plane to know how to act.

XY / XZ / YZ – Create planes aligned to Rhino world axes at a given point.
Construct Plane – Create a custom plane using an origin and X–Y axes (U–V direction).
Plane Normal – Create a plane at a point using a vector as its normal (W direction).

4.3 Vec → Point

Create and manipulate points.

Construct / Deconstruct Point – Create a point using X, Y, Z values or extract its coordinates.
Distance – Measure the distance between two points.
Closest Point – Find the closest point from a list (very useful for attractor workflows).
Pull Point – Pull geometry toward its closest attractor.
Sort Points – Sort points along X, Y, or Z direction.

4.3 Vec → Vector

Vectors define direction and magnitude. They are used for operations like extrusion, movement, rotation, etc.

Vector XYZ – Construct a vector using X, Y, Z values (defines direction + magnitude).
Unit X / Y / Z – Create a vector in only one direction.
Vector 2Pt – Create a vector between two points (commonly used to move geometry).

5. Curves

The Curve tab lets you analyze, create, divide, and edit curves. Curves are the foundation of most Grasshopper workflows: surfaces, lofts, sweeps, and patterns all start here.

5.1 Crv → Analysis

These components evaluate a curve.

End Points – Find the start and end point of a curve.
Curve Closest Point – Find the closest location on a curve to a given point.
Discontinuity – Find breaks or sharp changes in a curve.
Evaluate Curve – Find a point and tangent based on a curve parameter (domain value).
Point On Curve – Find a point based on proportional length (0–1).
Length – Measure the total length of a curve.
Point In Curve – Check which points are inside or outside a closed curve.

5.2 Crv → Division

Divide curves into points, frames, or fragments.

Divide Curve – Create evenly spaced points along a curve.
Shatter – Split a curve into fragments using parameters.
Horizontal / Perp Frames – Create evenly spaced planes along a curve profile.

5.3 Crv → Primitive

Create basic curves directly in Grasshopper.

Line – Create a line between two points.
Circle – Create a circle on a plane using a radius.
Circle 3Pt – Create a circle using three points.
Ellipse – Create an ellipse on a plane using major and minor radius.
Arc – Create an arc using radius and angle domain.
Polygon – Create a polygon on a plane with radius and n-sides (optional fillet).
Rectangle – Create a rectangle on a plane using X and Y domains.

5.4 Crv → Spline

Create freeform NURBS curves.

Interpolate – Curve passes through all input points.
Nurbs Curve – Points act as control points of the curve.
Polyline – Create a curve with straight segments between points.
Iso Curve – Extract a U or V isocurve from a surface.
Tween Curve – Generate curves between two curves.
Blend Curve – Bridge two curves with G0, G1, or G2 continuity.
Connect Curves – Close gaps between open curves to form a continuous curve.

5.5 Crv → Utils

Additional curve editing tools.

Explode – Break a curve into individual segments.
Extend – Extend a curve smoothly or linearly.
Flip Curve – Reverse curve direction.
Join Curves – Join curves whose endpoints coincide.
Fillet – Round sharp corners between curve segments.
Offset Curve – Offset a curve by a distance (positive or negative side).
Offset on Srf – Offset a curve along a surface.
Project Curve – Project a curve onto a surface or Brep.
Pull Curve – Pull a curve onto a surface or Brep.
Rebuild – Simplify a complex curve by redefining its control points.

6. Surfaces

The Surface tab lets you analyze, create, and edit surfaces and polysurfaces (BReps). Most solid modeling workflows in Grasshopper end here.

6.1 Srf → Analysis

Evaluate surfaces and extract useful geometric information.

Brep Edges – Find the boundary edges of a surface or polysurface.
Deconstruct Brep – Explode a surface or polysurface into faces, edges, and vertices.
Area – Calculate the area of a surface or polysurface.
Volume – Calculate the volume of a closed solid.
Surface Closest Point – Pull a point onto a surface and generate a plane at that location.
Brep Closest Point – Pull a point onto a surface/polysurface and generate a normal plane (more robust than Surface Closest Point).
Point In Brep – Check if a point is inside a closed solid.
Evaluate Surface – Extract point and normal direction using UV parameters.

6.3 Srf → Freeform

Create custom freeform surfaces and polysurfaces.

4 Point Surface – Create a surface using four corner points.
Boundary Surface – Create a planar surface from closed planar curves.
Loft – Create a surface or polysurface between multiple curves.
Edge Surface – Create a surface from four boundary curves.
Extrude – Extrude a curve profile along a vector direction.
Pipe – Create a pipe along a curve.
Sweep 1 / Sweep 2 – Create a sweep using rails and section curves.
Revolution – Revolve a profile curve around an axis.

6.3 Srf → Primitive

Create basic solid shapes.

Bounding Box – Create a box around geometry.
Cylinder – Create a cylinder on a plane using radius and height.
Sphere – Create a sphere using a center and radius.

6.4 Srf → SubD

Create SubD surfaces inside Grasshopper.

SubD from Mesh – Convert a mesh into a SubD surface.
MultiPipe – Generate organic fused SubD pipes along curves.

6.5 Srf → Util

Additional surface and polysurface operations.

Divide Surface – Generate UV points across a surface.
Surface Frames – Generate UV planes across a surface.
Isotrim – Split a surface using UV domains.
Brep Join – Join multiple surfaces or polysurfaces.
Cap Holes – Close planar openings in a geometry.
Flip – Reverse surface direction.
Offset Surface – Offset a surface along its normal direction.
Fillet Edge – Apply fillets to polysurface edges.
Convex Edges – Detect convex edges (often used with Fillet).

7. Mesh

The Mesh tab lets you analyze, create, and edit mesh geometries. Meshes are widely used for 3D printing, Rendering, Lattice workflows and Simulations.

7.1 Mesh → Analysis

Evaluate meshes and extract useful geometric information.

Deconstruct Mesh – Extract vertices, faces, colors, and normals.
Mesh Edges – Find naked (open) and interior edges of a mesh.
Face Boundaries – Extract a closed polyline for each mesh face.
Mesh Area – Calculate the area of a mesh.
Mesh Closest Point – Pull a point onto a mesh and get mesh parameters.
Evaluate Mesh – Extract mesh normal direction using parameters.

7.2 Mesh → Primitive

Create simple mesh geometries.

Construct Mesh – Create a mesh using a list of points and face instructions.
Mesh Colours – Assign color to mesh vertices (useful for 3MF export with color data).

7.3 Mesh → Triangulation

Generate meshes using point relationships.

Delaunay Mesh – Create a triangulated mesh from points on a plane.
Voronoi – Create 2D Voronoi cells from input points.
Voronoi 3D – Create 3D Voronoi cells from input points.
Proximity 2D / 3D – Connect points based on distance criteria.
Quad Remesh – Rebuild a mesh using quad faces.

7.3 Mesh → Utility

Additional mesh operations.

Mesh Brep – Convert surfaces or polysurfaces to mesh with quality settings.
Simple Mesh – Convert 3–4 sided surfaces into simple mesh faces (does not support ngons).
Mesh Join – Join multiple mesh objects.
Flip Mesh – Invert mesh normal direction.
Unify Mesh – Unify the normal direction across mesh faces.
Weld Mesh – Merge/weld edges between mesh faces

8. Intersection

The Intersection tab lets you perform mathematical, physical, regional, and boolean intersections. This is where geometry starts interacting with other geometry.

8.1 Int → Mathematical

Create intersections using planes, vectors, or analytical methods for Contours, Plane intersections and Section cuts. Think of this as “cutting geometry mathematically.”

8.2 Int → Physical

Directly intersect geometries together.

Curve | Curve – Intersect Curve A with Curve B to get intersection points and parameters.
Multiple Curves – Intersect many curves together.
Brep | Brep – Intersect two Breps to generate intersection curves.
Brep | Curve – Intersect a Brep with a curve to get intersection points.
Split Surface – Split a surface using a curve on the surface.
Mesh | Curve – Intersect a mesh with a curve.
Mesh | Mesh – Intersect two mesh geometries.

8.3 Int → Region

Trim and split curves using other shapes.

Trim with Breps – Trim a curve using a surface or polysurface.
Trim with Region – Trim a curve using closed curves.
Split with Breps – Split a curve using a surface or polysurface.

8.4 Int → Shape (Boolean Operations)

Perform solid and region boolean operations.

Solid Difference – Subtract Solid B from Solid A (Boolean Difference).
Solid Intersection – Keep only overlapping volume between solids (Boolean Intersection).
Solid Union – Join multiple solids into one (Boolean Union).
Split Brep – Split a Brep with another Brep (creates open geometry).
Region Difference – Subtract closed Curve B from closed Curve A.
Region Intersection – Keep common area between closed curves.
Region Union – Fuse closed curves into a single region.
Mesh Difference – Subtract one mesh from another.
Mesh Intersection – Keep overlapping mesh volume.
Mesh Union – Join multiple mesh solids together.

9. Transform

The Transform tab lets you move, copy, scale, rotate, mirror, and morph any geometry
(point, curve, surface, polysurface, mesh, etc.).

9.1 Trns → Affine

Basic geometric transformations.

Scale – Scale geometry using a center point (usually centroid) and a factor.
Project – Project any geometry onto a plane.

9.2 Trns → Array

Create copies of geometry. You can make Linear, Rectangular and Polar arrays. These components are very useful for pattern workflows.

9.3 Trns → Euclidean

Classic rigid transformations (no distortion).

Mirror – Mirror geometry across a plane.
Move – Move geometry using a vector.
Orient – Orient geometry from a base plane to a target plane.
Rotate – Rotate geometry on a plane using radians (or degrees).

9.4 Trns → Morph

Distort or flow geometry.

Flow – Flow geometry along a base and target curve (Flow Along Curve in Rhino).
Sporph – Flow geometry from one surface to another (Flow Along Surface in Rhino).

9.5 Trns → Util

Additional transformation tools. Group / Ungroup components to organize and dimplify your definition. Remember to ungroup before editing as grouped objects can’t be modified directly.

10. Display

The Display tab controls how geometry appears in the Rhino viewport. It does not modify geometry, it only controls visualization.

10.1 Display → Colour

Create and manipulate colors.

Colour RGB – Construct a color using Red, Green, Blue values.
Split ARGB – Break a color into its components (Alpha, R, G, B).

10.2 Display → Dimension

Add dimension and annotation inside Rhino. You can create Text tags, Linear dimensions and Angular dimensions. Useful for technical drawings and documentation.

10.3 Display → Preview

Control custom display of geometry.

Custom Preview – Assign material and color to geometry.
Point Cloud Display – Control visualization of point sets.

10.4 Display → Vector

Visual debugging tools. Extremely useful for understanding list order or extrusion directions.

Point List – Display point indices in Rhino.
Vector Display – Visualize vector direction and magnitude in the viewport.

Conclusion

When I first started learning Grasshopper, I was completely overwhelmed.

Over the past 10 years of working with the software, I can confidently say this: starting with just a few essential components will take you a long way.

Most of my scripts today are still built using these same core components. Reducing the number of things you try to learn at once dramatically lowers the complexity and makes Grasshopper much easier to understand as a beginner.

For the complete Grasshopper command list, refer to:
https://grasshopperdocs.com/addonIndex.html

Don’t miss out, enroll today.