Lesson 0.3Lesson 0.3 · Foundations of Computational Design
The Computational Toolkit Landscape
Rhino + Grasshopper, Dynamo, Blender nodes and code - where each one fits
There is no single 'computational design' program - there's a landscape, and knowing which tool fits which problem is half the skill.
Ask what software you 'should' learn and you'll get an argument. The honest answer is that computational design is a way of working that runs across several tools, each with a home turf: Grasshopper for free-form geometry, Dynamo for Revit data, Blender nodes for the artist's pipeline, and code when the visual canvas runs out of road.
This course lives in Rhino + Grasshopper because it is the deepest, most general environment for architectural geometry - but the ideas you learn are portable. This lesson maps the terrain so you know where you are standing, and where the neighbouring tools begin.
One way of working, several tools. Grasshopper spine + plug-ins. Start visual, code where it earns it. Don't collect software.
The spine: Rhino + Grasshopper, and why this course lives here
Rhino is a precise NURBS modeller - the substrate that represents curves and surfaces exactly (Module 1 is all about it). Grasshopper is its visual programming environment, built into Rhino at no extra cost: you assemble a design by dropping components on a canvas and wiring them together, and Rhino shows you the result live.
Grasshopper became the de facto standard for architectural computational design for a few concrete reasons. It sits directly on Rhino's excellent free-form geometry, so complex curved surfaces are native, not a fight. It is general - not tied to one building methodology - so it handles facades, structures, patterns, fabrication and analysis equally. And it has the richest plug-in ecosystem of any tool in this space, which we come to below. That combination is why studios worldwide hire specifically for Grasshopper fluency and why we build the course on it.
Its honest limitation: Grasshopper is geometry-first, not a BIM database. It knows a wall as surfaces and solids, not as a scheduled, data-rich Revit object. That gap is exactly where the next tool lives.
It is worth being clear about what 'the spine' means for how you should learn. Because Grasshopper is general and geometry-native, the concepts you build here - parameters, data trees, attractors, form-finding, optimization - are the canonical versions of ideas that reappear, slightly renamed, in every other tool. Learn a data tree in Grasshopper and you already understand list management in Dynamo. Learn associativity here and Blender's node graph reads instantly. Choosing Grasshopper as the teaching spine is not tribal preference; it is picking the environment where the ideas are cleanest and most transferable, so that the rest of the landscape becomes a series of short hops rather than fresh climbs.
Rhino = precise NURBS geometry. Grasshopper = its visual programming canvas, free, built in, general, huge plug-in library.
Dynamo, Blender nodes and code: the neighbours
Dynamo is the visual programming environment for Revit (and Civil 3D). It looks and feels like Grasshopper - nodes and wires - but its home turf is BIM: reading and writing Revit elements, automating documentation, pushing data into schedules, batch-editing families. If your deliverable is a data-rich BIM model, Dynamo talks to it natively in a way Grasshopper does not. Many practices use both: Grasshopper to design the geometry, then bring it into Revit and let Dynamo handle the data side.
Blender geometry nodes bring node-based procedural modelling into the free, open-source Blender. They are strong for artists, visualisation, motion and organic modelling, and the price is unbeatable - but Blender is a mesh/artist pipeline, not a precise engineering-grade NURBS or BIM tool, so it is less common in technical architectural practice.
Code - Python or C# - is the layer beneath all of them. Grasshopper and Dynamo both include scripting components where you type code that runs inside the canvas, and Rhino has a full Python API. You reach for code when logic gets awkward on the canvas: loops with complex conditions, custom data structures, talking to a spreadsheet or a web service. Code is not a different world; it is the same computational thinking expressed in text.
A quick way to hold the whole map in your head: think of it as territory, not a ranking. Grasshopper owns free-form geometry and exploration; Dynamo owns the BIM database and documentation; Blender owns the free, artist-facing mesh and render pipeline; code owns the awkward logic none of the canvases express cleanly. They overlap at the edges - you can do BIM-ish things in Grasshopper with plug-ins, and geometry in Dynamo - but each has a clear home turf where it is plainly the right choice. The professional skill is not loyalty to one program; it is placing each task on the tool whose territory it falls in, and moving data between them without friction.
Dynamo = Grasshopper for Revit/BIM data. Blender nodes = free, artist/mesh pipeline. Code = the layer under all of them.
Visual programming vs text code - honestly
The defining trait of Grasshopper and Dynamo is visual programming: you build logic by wiring boxes instead of typing statements. This is not a toy version of 'real' programming - it is a legitimate paradigm with real trade-offs, and being honest about them helps you choose.
Where visual wins: it is immediate and legible. You see the data flow, you see geometry update as you wire, and you can follow someone else's logic by reading the graph. There is no syntax to memorise and nothing to compile - the barrier to a first result is genuinely low, which is why designers who don't consider themselves programmers become productive fast.
Where text code wins: density and control. A loop that runs ten thousand times, a branching condition three levels deep, a custom data structure, or reusable named functions - all of these get unwieldy as a spaghetti of wires but stay clean as a few lines of code. Text also versions and diffs cleanly, which matters on a team.
The practical stance this course takes: start visual, drop to code where it earns its place. You will do almost everything on the Grasshopper canvas, and reach for a Python or C# component only when the canvas is fighting you. You do not need to code to be an excellent computational designer - but a little text, used surgically, removes the ceiling.
There is one more honest point worth making: the two are not rivals but ends of a single spectrum, and the best workflows mix them freely. A large definition might be ninety percent wired components with a single Python component buried in the middle doing the one thing that would otherwise take forty boxes. Nobody keeps score. The skill is knowing, in the moment, whether the next step reads more clearly as a wire or as a line - and that judgement comes with practice, not from picking a camp. Treat visual and code as two dialects of the same language, and you will always reach for whichever says the thing most plainly.
Visual = immediate, legible, low barrier. Code = dense, controllable, versionable. Start visual, drop to code where it earns its place.
The plug-in ecosystem: where Grasshopper's power really is
Vanilla Grasshopper is capable; the reason it dominates is the plug-in ecosystem layered on top, most of it free from the food4rhino library. Each plug-in adds a family of components for a specialism, and knowing the headline names orients you to the whole field of computational design.
Kangaroo is a live physics engine for form-finding - it relaxes a mesh under simulated forces to find funicular shells, tensile membranes and minimal surfaces, the digital descendant of Frei Otto's hanging-chain models. Ladybug and Honeybee (Ladybug Tools) bring environmental analysis into the canvas: sun paths, radiation, daylight and, via engines like EnergyPlus and Radiance, real energy and lighting simulation. Galapagos (built in) and Wallacei are optimization engines - they search your design space, Galapagos for a single goal and Wallacei for several competing goals at once using evolutionary algorithms. LunchBox is a workhorse for panelization and patterns, plus some machine-learning utilities, and there are hundreds more (Weaverbird for meshes, Karamba3D for structural analysis, and so on).
You do not learn these on day one - later modules of this course meet several directly. The point now is the shape of the ecosystem: a lean core you master first, then targeted plug-ins that turn Grasshopper into a form-finding lab, an environmental tool, or an optimizer as the project demands. That extensibility, more than any single feature, is why the spine of this course is Grasshopper. No competing environment comes close to the same breadth of freely available, battle-tested add-ons - and because they all share the same canvas, they compose: a form-found shell from Kangaroo can feed straight into a Ladybug daylight study and then into a Wallacei search, without ever leaving the file.
Kangaroo=physics/form-finding. Ladybug/Honeybee=environment. Galapagos/Wallacei=optimization. LunchBox=panels. Lean core + targeted plug-ins.
Rhino + Grasshopper
NURBS modeller + its built-in visual programming canvas
The course spine. General-purpose, free-form geometry, the largest plug-in ecosystem. Not a BIM database.
Dynamo
Visual programming for Revit / Civil 3D (BIM)
Node-and-wire like Grasshopper, but its home is BIM data and documentation automation, not free-form geometry.
Kangaroo
Live physics / form-finding engine for Grasshopper
Relaxes meshes under forces to find shells and membranes. Design exploration, not a substitute for structural engineering.
Ladybug Tools
Environmental analysis plug-ins (Ladybug, Honeybee)
Sun, radiation, daylight and energy via EnergyPlus / Radiance, inside the Grasshopper canvas.
Wallacei
Evolutionary multi-objective optimization for Grasshopper
Searches a design space against several competing goals at once; Galapagos handles the single-goal case.
Workshop - match the problem to the tool
Before installing anything, practise the judgement that matters most: given a real task, which environment and which plug-in is the right home for it? This is the thinking that keeps a computational workflow clean.
None to complete the exercise. To follow the rest of the course: Rhino + Grasshopper (free trial or student licence). Plug-ins referenced here are free from food4rhino.
Goal: build a mental map of the toolkit and its plug-ins Inputs: the six scenarios below Time: ~25 minutes
- 1For each scenario, name the primary tool (Rhino+Grasshopper, Dynamo, Blender nodes, or plain code) and justify it in one sentence: (a) a doubly-curved shading canopy to be panelised for fabrication; (b) auto-numbering 400 doors and pushing the schedule into a Revit model.
- 2Continue: (c) finding the funicular shape of a compression-only roof shell; (d) checking a facade design against annual daylight and solar radiation.
- 3Continue: (e) searching hundreds of massing variants for the best trade-off between floor area and self-shading; (f) reading a messy spreadsheet of room data and generating bubble diagrams from it.
- 4For any scenario needing a plug-in, name it (Kangaroo, Ladybug/Honeybee, Galapagos or Wallacei, LunchBox) and say what it adds.
- 5Finally, mark which two scenarios could stay entirely in vanilla Grasshopper, and which genuinely need a neighbour tool or a scripting component - and why.
You’ll walk away with
A one-page decision table: scenario, chosen tool, plug-in if any, and a one-line reason - your personal map of the computational toolkit.
Three altitudes on the same idea
Read the band that fits you — or all three.
Your toolkit is rarely one program - it is a pipeline. The common professional pattern is Grasshopper for design geometry and rationalisation, Revit + Dynamo for the BIM deliverable, and plug-ins (Ladybug for environment, Karamba for a first structural read, always confirmed by an engineer) bolted on where a project needs them. Knowing which tool owns which problem is what keeps a complex project from becoming a mess of exports.
For interiors the centre of gravity is Rhino + Grasshopper with a light touch of fabrication and visualisation. You will use Grasshopper for pattern, screens and parametric joinery, LunchBox for panelising a surface, and clean exports to CNC or laser. Blender's free node pipeline is worth knowing for organic pieces and rendering. You rarely need the full BIM stack - keep the toolkit small and deep.
Learn Grasshopper first and learn it well. It is the most general, most transferable tool, and its concepts carry straight into Dynamo, Blender nodes and code. Resist collecting software; a portfolio built on deep Grasshopper - with one or two plug-ins like Kangaroo or Ladybug used meaningfully - reads far stronger than a shallow tour of five programs. Rhino's student licence makes all of this free to practise.
“I have to pick the one 'best' computational design software and commit to it.”
Do it yourself
No software - reason it through.
- 1In one sentence, what does Grasshopper do that makes it the spine of this course?
- 2When would you choose Dynamo over Grasshopper?
- 3Give one situation where dropping into a Python or C# component beats wiring components.
- 4Match each to its job: Kangaroo, Ladybug, Wallacei, LunchBox.
- 5Why is 'pick the one best software' the wrong question?
The one line to carry out
Peer-reviewed journals & authoritative standards
- 01Grasshopper - Algorithmic modeling for Rhino (official) — Robert McNeel & Associates, 2026.
- 02The Dynamo Primer — DynamoBIM, 2026.
- 03food4rhino - Grasshopper plug-ins ecosystem — Robert McNeel & Associates, 2026.
- 04Kangaroo Physics (Daniel Piker) — food4rhino, 2026.
- 05Ladybug Tools (Ladybug, Honeybee) — Ladybug Tools LLC, 2026.
You now know which environment fits which problem. The last Foundations lesson opens the hood on the environment we chose - how to actually read a Grasshopper definition: inputs, operations, outputs and where the data flows.
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 →