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: 1854
Latest Activity: 40 minutes 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

[Bug?] Trying to apply planarHex example to closed curves. 1 Reply

Hi!,First of all, thanks Daniel for the amazing work and effort that you did to release Kangaroo2. It's being amazing experimenting and introducing all this new features (and approach) to my personal workflow. Diving into the problem I had: I've…Continue

Tags: polygons, planar, planarizing, bug, kangaroo2

Started by Ángel Linares. Last reply by Daniel Piker 15 hours ago.

Reciprocal structures - example definition 21 Replies

The latest release of Kangaroo contains several new features for…Continue

Tags: plankton, kangaroo, reciprocal

Started by Daniel Piker. Last reply by Jing 17 hours ago.

Cable mesh in Kangaroo 2 Replies

Hi there,I am trying to create a cable mesh to constrain an object defined by a number of points in space with Kangaroo however once I run the simulation, my mesh becomes broken and I don't know if this is due to the force I use. I noticed that…Continue

Tags: kangaroo

Started by Irina Ghiuzan. Last reply by Irina Ghiuzan 20 hours ago.

center of a polygon with length component Kangaroo 2.01

Hi, I'm using the Length Component of Kangaroo 2.01 to attract multiple polygons. Interconnecting the endpoint of the polylines forming the polygons(pic1) works the way it is supposed to.However, whenever I connect the centers of the polygons(pic2),…Continue

Started by Ben T. yesterday.

Various spring stiffness in a mesh in Kangaroo

Hi all, I have been looking all over the discussion and internet and can not find a solution to my problem. Maybe it is very simple but somehow I can't see it myself. I am trying to do a kangaroo mesh simulation where I want to achieve different…Continue

Started by Hulda Jonsdottir on Friday.

Output mesh from one Kangaroo engine to provide input collision mesh for second engine? 3 Replies

Dear all,this is my first post, please be kind. I think I've read most of Daniel's comments about the limitations of collision meshes in Kangaroo (i.e. one has to be a passive Rhino object). In the attached file, I've tried to stitch two examples…Continue

Tags: collision

Started by Gregory Quinn. Last reply by Daniel Piker on Friday.

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 Juan Alvarez 40 minutes ago
Hi Daniel was wondering using the new Kangaroo what would be the equivalent to the Springs module in the old kangaroo for tensile form finding?
Comment by Daniel Piker on Wednesday
Jesper- try updating to the latest .net framework (4.5.1) from the Microsoft site:
Comment by Jesper Hildebrandt Andersen on Wednesday

I get this error from the solver, guess it something net frame something any idea on how to solve it ?

Solution exception:Method not found: 'Int32 System.Environment.get_CurrentManagedThreadId()'.

Comment by Andrei Raducanu on April 18, 2015 at 5:59pm

Can Galapagos wait for the final result of kangaroo after making a slider change?

Comment by nick Traverse on March 8, 2015 at 5:00pm

Hi Everyone,

I'm working on/ studying reciprocal structures. I'm trying to develop this script to fabricate reciprocal stick models using no connection method, just the sticks/pipes resting on each other.

The problem is when I run the Kangaroo engine, there are some issues with the layering of the pipes. As you can see in the image, the green pipe is supported, however the red pipe isn't. This would be okay if I was planning to implement some sort of connection, but because I am working on creating a structure where they just rest on each other, this is no good. 

Any help or insight on this would be great,



Comment by Donnie Brasco on March 2, 2015 at 7:20pm
Comment by M.Elsayed on March 2, 2015 at 4:22pm

Boxes collide in limited space.

I need to make a collision between five boxes in  limited boundaries  with allowance of changing in size and dimensions for each box by 80 percent. Any Ideas or even sample file close to this issue.

Comment by andres obregon on November 4, 2014 at 3:07pm

Question about Kangaroo. It is possible to simulate a balloon filled with water in air, on a horizontal plane , self-weight forces? Thanks ...

Comment by Michael Makris on October 30, 2014 at 2:29pm

Quick question about the "new" Zombie component. How is Zombie Kangaroo different from just using a Sequence component to control Kangaroo Reset?

Comment by S.Sifakis on May 20, 2014 at 1:11pm

Hello Daniel,

I am trying to inflate 4 balloons within a box which itself also inflates. I would like to constraint the balloons inside the box but it is not working. The external surface of the inflatable object collide with the exterior surface of other objects but not the exterior with the interior. Is there something wrong with my definition or there is another way to do it?

Any help on this matter would be really appreciated since it is part of my thesis project!!

Thanks!!!! :)



Search Grasshopper


  • Add Photos
  • View All

© 2015   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service