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: 1887
Latest Activity: 18 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

rotation movement - kangaroo 4 Replies

Hello!I am trying to force a geometry to move along a path, like a wheel, using vortex - Kangaroo 0.99. I have managed to make points rotate along an axis, but they don't "walk". Thanks very much in advance.Continue

Tags: wheel, vortex, kangaroo

Started by Verônica Natividade. Last reply by Daniel Piker 18 hours ago.

Kangaroo Form Finding & Planarization 1 Reply

Hello!I have used kangaroo 0099 for form finding a semi-dome composed of voronoi patterns. The components I used were: Springs, Pressure, UForce and CurvePull. I was wondering if I can do the same with Kangaroo 2? I read the release notes but i…Continue

Tags: Kangaroo

Started by Andy L.. Last reply by William Carroll yesterday.

Need help for collision between two curves 3 Replies

Hi! I am trying to collide two curves like in the image. Step three is to search for the smallest area with galapagos. Is it possible to combine kangaroo and galapagos? Thanks! Continue

Started by Harri Humppi. Last reply by Daniel Piker on Tuesday.

Need help "relaxing" a grid of diamonds. 2 Replies

Hi All, I have a problem with a surface I'm designing (see screenshot attached). Since the surface height changes, the height subdivisions (V coordinate) of the diamonds make the diamonds irregular.I want the diamonds to be as similar as possible in…Continue

Tags: kangaroo, grid relax, diamonds

Started by Juan Camps. Last reply by Juan Camps on Tuesday.

springs 7 Replies

Hello, I'm wanting to experiment with springs in kangaroo.  The manual happens to briefly discuss this, and even mentions Hook's law.So, where are the spring components?This should be more straight forward.Continue

Tags: law, hook's, springs

Started by Erik Lander. Last reply by Art Agent on Tuesday.

New tutorial - Developable strips - Part 2 4 Replies

following on from Part 1So now we have a mesh consisting of strips of thin rectangles…Continue

Started by Daniel Piker. Last reply by Daniel Piker on Monday.

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 Dmitry on May 16, 2013 at 4:00am
Comment by Dmitry on May 16, 2013 at 3:53am

Hello Daniel !
sorry for may ask same question again  , but I cannot found solution how to fix it .
the target is to make limit border of shape for circle paking  .
I add some button  to script , which I load from your blog , for make possibly use different  diametr of circle . now it can paking , and each circle stop when reach border of surface by it's center.
but I would like to make  circle stop when reach border of surface by it's outline .
is it possible to do something in this script , for it work as I need ?

Comment by Daniel Piker on March 28, 2013 at 2:42pm
Hi Ben, this is great to see. I'm glad it was useful for you, and thanks for sharing
Comment by Ben Howes on March 25, 2013 at 1:45pm

The ACM Group at Thornton Tomasetti used Kangaroo as a platform for facade form finding on a project with 360 Architecture.  Check out our blog for a detailed description of the project, and have a look at a partial form finding run in the video below.

Comment by Robert Harvey on February 23, 2013 at 10:59am

That's it, thank you!

Comment by Daniel Piker on February 22, 2013 at 10:27am

Robert - do you definitely have both the kangaroo gha and the dll in your components directory, and both unblocked ?

Comment by Robert Harvey on February 22, 2013 at 10:10am

Hi everyone,

Does anyone know why I'm getting the following error message when I open Grasshopper?

Object: KangarooA (level 1)
  Exception has been thrown by the target of an invocation.
Object: KangarooA (level 2)
  Could not load file or assembly 'KangarooLib, Version=, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.
Im using Rhino 5 on Windows 7 64.
Comment by Derenik Baghramian on February 9, 2013 at 9:42am

Hi everyone!
I want to know is there any tutorial for minimal path definition?


Comment by GIL AKOS on January 9, 2013 at 4:48pm

Here are some studies for what we will be covering in this Friday's webinar on Simulation with Kangaroo! Particles + Forces, Funiculars, and Dynamic Relaxation with Analysis.

Comment by Vangel Kukov on December 20, 2012 at 4:01am

I have two types of meshes and need the second ones to follow the first one without affecting it. Laplasian and springs on the first one, only springs on the second ones. This is what I have so far. Maybe I'm doing something wrong couse it gets too heavy.




Search Grasshopper

© 2015   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service