Monoceros and Grasshopper generative design tools

Grasshopper has several powerful plugins for generative design: Galapagos, Anemone, and Kangaroo each have a strong user base and solve real problems. Monoceros solves a different one. This page explains what each plugin does and when Monoceros is the right choice.

What “generative design” means in Grasshopper

The term covers a wide range of techniques that share one idea: let the computer explore design space instead of manually specifying every decision. But the techniques differ fundamentally in what they explore and how.

Galapagos searches for parameter values that maximize a numeric score. Anemone repeats a definition step by step, accumulating changes over time. Kangaroo finds the equilibrium of a system of forces. Monoceros assembles discrete parts according to adjacency rules and produces every valid arrangement within those rules.

These are not interchangeable approaches. The right tool depends on whether your design problem is an optimization problem, a simulation, a physics problem, or an assembly problem.

Monoceros: constraint-based discrete aggregation

Monoceros implements Wave Function Collapse (WFC) for architectural design. You define a set of 3D modules and specify which faces of which modules are allowed to be adjacent to each other. Monoceros then fills a grid envelope with those modules such that every adjacency in the result is permitted by your rules.

The output is not a single solution. Different random seeds produce different valid assemblies from the same rule set, giving you a design space of structurally coherent results to choose from. Modules can be facades tiles, structural nodes, pipe segments, floor plates, furniture components, or any 3D geometry you define.

What Monoceros is not: it does not optimize toward a goal, simulate physical forces, or iterate step-by-step. It solves globally — constraint propagation runs across the entire grid simultaneously until every cell is determined or a contradiction is found.

Monoceros 3 documentationDownload

Galapagos: evolutionary optimization

Galapagos is Grasshopper’s built-in evolutionary solver. You expose numeric sliders as genome inputs and connect a single number as the fitness value. Galapagos runs many generations of candidate solutions, mutating and recombining sliders, keeping the ones with better fitness scores.

Use Galapagos when you have a well-defined numeric objective: minimize material volume, maximize solar exposure, minimize structural deflection, find the slider combination that brings a surface closest to a target shape. The design space is the continuous space of slider values; the answer is the combination with the best score found within the time budget.

Galapagos and Monoceros are complementary. A common pattern is to drive Monoceros parameters — grid size, module weights, seed value — with Galapagos sliders and score each result by some property of the assembly (area, compactness, connection count). Galapagos searches the parameter space; Monoceros assembles the modules at each candidate point.

Anemone: iterative loops and agent-based simulation

Anemone adds looping to Grasshopper, which has no native iteration. Each loop pass runs the full definition, feeds the output back as the next input, and accumulates state over time. It is the standard tool for agent-based simulations, growth algorithms, L-systems, and any process that unfolds step by step.

Use Anemone when the process matters as much as the result: simulating the spread of a structural system, growing a branching network incrementally, running a diffusion-limited aggregation, or implementing a cellular automaton. Each iteration is one time step; the history of states is part of the output.

Monoceros and Anemone differ in when decisions are made. Anemone commits to each step sequentially and cannot revise earlier decisions. Monoceros defers all decisions until the global constraint propagation has run, then resolves every cell consistently. If your design process is inherently sequential and emergent, Anemone is the better fit. If you want a globally consistent assembly of parts, Monoceros is.

They can be combined: an Anemone loop that runs Monoceros once per iteration, changing the envelope or rule set each pass, implements an iterative refinement of a WFC-generated assembly.

Kangaroo: physics-based form finding

Kangaroo is a physics engine for Grasshopper. You apply forces and constraints to a mesh or point network and Kangaroo finds the equilibrium position: cable nets, minimal surfaces, bending-active structures, particle systems, collision resolution. The form emerges from the balance of competing forces.

Use Kangaroo when the design problem is fundamentally physical: hanging chain models for compression-only vaults, tensile membrane form finding, elastic rod bending, packing and layout with collision. The geometry is the equilibrium of a mechanical system.

Monoceros and Kangaroo address orthogonal concerns. Monoceros knows nothing about forces, mass, or stiffness — it operates on geometric adjacency rules only. Kangaroo knows nothing about discrete assemblies or module catalogues. A typical combined workflow: Monoceros assembles a module arrangement, then Kangaroo relaxes the resulting mesh to remove fabrication tolerances, achieve planarity, or apply structural form finding to the output geometry.

Choosing the right tool

Monoceros

Your design problem is about assembling a catalogue of 3D parts according to geometric adjacency rules. You want multiple valid results, not a single optimized one.

  • Facade tile layouts
  • Pipe and duct networks
  • Modular structural systems
  • Urban block aggregation
  • Interior fit-out layouts

Galapagos

Your problem has a single numeric fitness value and a set of continuous parameters. You want the best parameter combination the computer can find within a time budget.

  • Solar gain optimization
  • Structural efficiency
  • Program area targets
  • Shortest path geometry

Anemone

Your process unfolds over time and each step depends on the previous one. The sequence of states matters, not just the final result.

  • Agent-based growth
  • L-systems and branching
  • Cellular automata
  • Diffusion-limited aggregation

Kangaroo

The form of your design is determined by physical forces: tension, compression, bending, collision. Equilibrium is the answer.

  • Hanging chain vaults
  • Tensile membranes
  • Bending-active rods
  • Mesh relaxation

Get started with Monoceros

Monoceros 3 is a free Grasshopper plug-in for Rhino 7 and 8. The full documentation includes 35 step-by-step example workflows covering facades, pipe networks, modular construction, and more.

Download Monoceros 3   Read the documentation