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: 2749
Latest Activity: on Saturday

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:

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

The main source of example files for the latest version is here:

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

Relative Coordinates for Steering a Swimming Creature

We have simulated the motion of a multicelled swimmer, siphonophore, using kangaroo 0.99 that is driven by an MD Slider, so its cells get force vectors that propel the whole body.  Currently it will move in absolute xy coordinates: North, East,…Continue

Started by Jose Cuellar May 15.

Packing circles on surfaces 7 Replies

In response to an off-list question, here is another version of the point distribution example, with an addition to display circles oriented to the surface…Continue

Started by Daniel Piker. Last reply by Alexander Hillary May 14.

Beam component - cannot change section inertia

Hi Daniel,I am experimenting with the beam component you implemented, on Kangaroo 2.4.2. In particular, I am trying to change the value of the section inertia on the example you gave out. However, modifying Ix, Iy, or GJ does not affect the…Continue

Tags: Beam

Started by Xavier Tellier May 9.

K2 planarize any polygon 7 Replies

Hi Daniel,the new K2 planarize constraint is hard coded to take only (quad) meshes as an input. I am trying to planarize polygons similar to the K0.9 component that took a list of vertices instead.I had a look at the code on Github and it looks like…Continue

Started by Mathias Gmachl. Last reply by Daniel Piker May 7.

Mesh relaxation with collisions 3 Replies

Hi,Sorry to ask, but is there a way to have a mesh relaxation that also forms over other objects that could be considered as collision objects.So, the mesh relaxes, but tightens over some other object like a sphere for example?Many thanks in advance…Continue

Started by Andrew Wood. Last reply by Daniel Piker May 4.

Optimizing eccentricities in a Reciprocal Frame assembly

Hi!Currently I'm working on the optimization of eccentricities (lengths) between bars in a Reciprocal Frame assembly. I want to equalize and control these lengths with Kangaroo and I'm trying to accomplish this goal with Kangaroos LineLine…Continue

Tags: Reciprocal

Started by Tom Godthelp May 4.

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 Alvaro Rodriguez Garcia on March 21, 2018 at 4:56pm

Hello everybody! I am having this problem,  I already installed Kangaroo 2.4.2 and the library appears in my GH canvas. However, it seems that a couple of components weren't loaded correctly or I don't know what happened or what can I do. 

Thank you so much 

Comment by Daming on February 25, 2018 at 7:51am

I have found that the interconnectPoints Component(Utility) may has some error, the interconnetctions may be not out put.

Comment by Mostafa Abd-El-Raouf Ahmed on November 29, 2017 at 12:22am
Guys i am new to kangaroo and kindda amateur too in grasshopper .. so i have a question .. how can i achieve a smooth mass to conform on two closed curves

My curves here :
And a simple loft is here to just see what I intend to do
Comment by Michael Pryor on November 28, 2017 at 7:06pm

@Valmir Kastrati  it is called "Length(Line)" in K2

Comment by Valmir Kastrati on November 28, 2017 at 4:52pm

Can anyone tell me which component in Kangaroo2 is "Springs" from Kangaroo 1?

Comment by weizhiwei on November 23, 2017 at 9:37am

Hi all, I'm a really new grasshopper user, These days I have learned how to use Kangaroo2 to solve a problem.

But I have some trouble with the component "PolygonArea".

Comment by Philippe Hannequart on November 17, 2017 at 3:10am

Hi all, How can I model a shell in Kangaroo2 ? The triangular shell element from Kangaroo1 disappeared?

Comment by Jupiterator on October 29, 2017 at 5:27pm

Hi Daniel,

Is the version of Kangaroo for OSX different than Windows?

I'm looking for the SpringsFromMesh component I've seen in a tutorial, but I can't find it anywhere.

Any help would be greatly appreciated!

Comment by Martin Siegrist on September 1, 2017 at 6:53am
Hi Daniel, I spent the last ten hours trying to remember how to use the SolidPointCollide component. I need to hang a relaxed mesh inside another mesh. Too much to explain. Well, I figured it out at some point.... now it works pretty well.

Just wanted to say thank you for programming such an awesome set of tools!
Comment by Earth on July 22, 2017 at 4:32pm

Hi all, where does Kangaroo define literally the mass of springs? The thing is, when using Kangaroo, there is no mass input, and  if I applied force=0 then displaced the support, why the structure vibrates when there is no mass defined anywhere?

The second thing is that, when I applied very high value of stiffness, with proper support conditions, the elements fly off to there screen (displacement=infinity=null), even if there is no force applied, anyone know why?

help :)






  • Add Photos
  • View All

© 2018   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service