algorithmic modeling for Rhino



Kangaroo is a Live Physics engine for interactive simulation, optimization and form-finding directly within Grasshopper.

Read about the new release here

The Discussion Forum below is the best place to ask any questions about using Kangaroo.

(Please avoid posting questions on the Comment Wall, as it does not allow organization of replies)

Members: 2292
Latest Activity: 10 hours ago

You can read an introduction to the ideas behind Kangaroo here:

Kangaroo2 is now available for testing (see full announcement here). Please bear in mind this is still a work-in-progress, and features are still subject to change.

You can download it from here:

The 2.0 download includes a first draft of the manual and a collection of example files.

This thread contains some troubleshooting tips if you have problems getting it installed and working:

Some further example files for version 2.0 can be found here:

with more to follow - if there is some particular feature you would like more examples of information on please ask there.

The Kangaroo2 solver library is now separate from the Grasshopper components, and can also be referenced and used in scripts, either in the GH VB/C#/Python components, or in RhinoScript/PythonScript in Rhino. Questions about these can also be posted on:

Kangaroo2 is a complete rewrite, and the main solver/goal/force components are not cross-compatible with the previous version. However, you can keep both versions installed together allowing older definitions to be opened, and for now this is recommended, as there are also several utility and mesh processing functions relevant to both versions.

While v2 introduces many new features and improvements, not all the features from the old version currently have equivalents in the new version, but the plan is to add them all over time.

The links below are for the old version. More documentation and videos for the new version to appear soon.

example files(for version 0.099):

manual(for version 0.099):

getting started video:

demo videos:

Some more tutorial videos from EXLAB:

Discussion Forum

Creating a dream catcher 13 Replies

Hello all, I am a beginner at Grasshopper and Kangaroo...Can anyone point me to the right direction how to re-create a dream catcher where each line is bend/pulled by the next one. So all lines end up bend and being pulled towards the middle. I…Continue

Started by Aleksandra Wojciak. Last reply by Aleksandra Wojciak 10 hours ago.

simulating a net behaviour with constraining edges 3 Replies

Hi geniuses, I'm stuck on a problem for quite a while now. I want to make a realistic net under gravity. I've searched quite a few defs online but I don't seem to find any related to my need.... I've come across the minimal surface / relaxation def…Continue

Started by shuo zhang. Last reply by shuo zhang on Saturday.

Newbie question re: hinge + collision

Hi all,I'm an advanced Rhino & GH user, but total beginner with Kangaroo.  I'm trying to setup a basic hinge that stops when the two halves crash into each other (think of a hinged bracelet).  I can make the hinge open/close (although it's…Continue

Started by Declan Halpin on Friday.

Vortex Force in K2

Does anyone have ideas about how to develop a vortex force in kangaroo2? Continue

Started by Moonbeast on Friday.

Kangaroo simulation on a curved surface with irregular mesh 10 Replies

Hi guys,I would like to make two models (one with positive Gaussian curvature and one with negative Gaussian curvature). First 2 curves are made were both ends are closed by a line.The surface created from these curves/lines needs to be meshed…Continue

Started by Sebastien de Wit. Last reply by Sebastien de Wit on Friday.

Inflated Tension Structures in Kangaroo 2

Hello Everyone,I am part of a small design collective experimenting with inflatable structures called pneuhaus. I have been dabbling with Kangaroo 1 for quite some time and am trying to make the jump…Continue

Tags: Tension, Pressure, Kangaroo 2

Started by August Lehrecke on Wednesday.

News and Updates

Force polygons of equilibrium structures

I have recently been exploring some reciprocal force diagrams using Kangaroo. From the 1869 paper by James Clerk Maxwell On reciprocal figures, frames and diagrams of forces : …to construct the Polygon of Forces, by drawing in succession lines parallel and proportional to the different forces, each line beginning at the extremity of the last. If the forces acting at the […]

Minimal surface puzzle

The top row shows three different minimal surfaces from the same boundary curves. The bottom row shows the same 3 surfaces rotated and in a different order. Which number corresponds to which letter?

Orthogonal Clustering

I’ve always aimed to make Kangaroo a specifically architectural physics engine. While it shares many characteristics with similar engines used for other purposes, such as games and animation, it has some features that are uniquely suited to designing buildings. Form-finding and physics-based-modelling often result in curved shapes, with an elegant and natural appearance which is something […]

Variation from Uniformity

All of these triangles are identical and equilateral: In architectural geometry over the last few decades, a common topic of research has been how to build and clad doubly curved surfaces in an efficient way. While computer aided manufacturing has made it possible to make buildings where every panel has slightly different dimensions, there are […]


      As regular readers of this blog will know, I’m passionate about the use of relaxation and force-based methods for optimizing geometry in a very interactive way. There is a great variety of form-finding that can be done by assigning physical forces as interactions between sets of particles. However, in my investigations so […]

Comment Wall


You need to be a member of Kangaroo to add comments!

Comment by Moonbeast on Friday

Does anyone have any ideas for how to create a vortex force in Kangaroo2 similar to the component in K1?

Comment by Arturo De La Fuente on October 7, 2016 at 7:24am
Comment by Noah Orr on October 5, 2016 at 7:44pm

Hi everyone,

I am currently working with Kangaroo simulating fabric relaxation through surface springs derived from mesh edges.

I am wanting to add additional springs to the surface through drawing curves onto the surface. These springs will have different rest lengths etc. to the mesh edge springs, therefore causing the fabric to relax non-uniformly. (similar to edge cables, but they run through the fabric rather than around the perimeter)

I am having a lot of trouble adding these springs and my deadline has really crept up.

Below is an attempt to illustrate... Blue lines= Springs to add to mesh (Red).

I have attached the GH file if you can, please please help.


Comment by Amir on October 2, 2016 at 3:52am

Hi friends
How can I learn kangaroo?
Do you know any tutorial?
I look for a lot but I cant find any thing.

Comment by Jorge on July 11, 2016 at 8:00pm

Dear all

How to building model like the videos?

I try again and again but still without success.

I don't know how to lock here

My file


Comment by matthewfilan on April 6, 2016 at 4:14pm

hi this is matthew and i just got into grasshopper learning for my design course and i have been experimenting with kangaroo. currently i want to make a shape such like this but i don`t know where to start can someone who knows how to do this please give me some ideas. thank you all for reading this.

Comment by ALI ESLAMI on March 3, 2016 at 3:32pm
Comment by yushide0527 on February 29, 2016 at 9:29pm

come here

Comment by Moonbeast on February 8, 2016 at 4:01am


Is there a way to measure kinetic energy of a system in Kangaroo 2 as in Kangaroo 1? Just trying to figure out if a system has reached equilibrium, keep up the great work.

Comment by Hans Rebel on December 20, 2015 at 12:07pm

Hi Daniel
I am excited by your kangaroo 2, thank you.
Trying to define goals to infate a mesh,  I came across your
I added a 4. way witch uses the crossproduct which gives me the force_vector as well.
With that I defined an InflateMesh goal, which gives me good results for regular meshes.
The idea is just moving the face_vertices by the force_vector and let the solver add the vectors at a vertex.
Could you please have a look and tell me if I correctly handle that goals.
That would be a great help for further experiments.
Thanks again!



Search Grasshopper


  • Add Photos
  • View All

© 2016   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service