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: 1906
Latest Activity: 23 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

Box Collide - multiple boxes 7 Replies

I have been trying to recreate this with the 'BoxCollide' component in kangaroo: …Continue

Tags: collide, cluster, box, kangaroo

Started by Darrin Griechen. Last reply by Hiono yesterday.

Input tress structure = output tree structure? 4 Replies

Dear all,according to Daniel's release notes, a future iteration of Knagaroo will match the input and output tree structures. Until then, I was wondering if anyone else has had to match data sets between the input and output of Kangaroo?Has anyone…Continue

Tags: tree, data, output, input

Started by Gregory Quinn. Last reply by Gregory Quinn yesterday.

Does any body know the demo on vimeo?

HelloI'm newbee of Kangaroo.I found is the example of mixed elements in grasshopper-kangaroo.After watching this video, i tried to make this on my own.However i could not…Continue

Started by leeuack on Wednesday.

mesh angle constraints 4 Replies

We are working to optimize the number of unique angles on a given mesh while at the same time trying to maintain the initial shape of the input mesh as much as possible. At the moment we are getting better results in the new kangaroo but are still…Continue

Started by machinehistories. Last reply by machinehistories Jun 19.

springs 18 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 Erik Lander Jun 14.

Combined form-finding and length equalising 4 Replies

Hi,I have just created a GH file that serves 2 purposes:1) Carry out form-finding on a gridshell structure (using the Springs and UForce components together with the Kangaroo solver).2) In the form-found gridshell, make the lengths of families of…Continue

Started by Eric Sturel. Last reply by Eric Sturel Jun 12.

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 muhammad fachrurrazi on June 27, 2013 at 5:01am

hello guys, i have problem with Plaw component. i dont know why its not working again but nothing error report. thanks for your help

Comment by Andrei Raducanu on June 5, 2013 at 9:33am

do you reckon a anti-funicular shape is still the way to go if you have an assembly system like the Boxel Pavilion, where the "bricks" aren't aligned to the surface but stay vertical (therefore the compression force isn't perpendicular to the modules' faces, but comes at an angle)? hopefully somebody with structural knowledge can enlighten me...


Comment by Andrei Raducanu on June 5, 2013 at 7:56am

hey, all!

do you guys know of a method that can be used when you want to convert a brep into a mesh with fairly uniform faces (in size and shape), which is what i guess is needed when doing anti-funcular simulations... Thanks a lot!

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.


Search Grasshopper


  • Add Photos
  • View All

© 2015   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service