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: 2567
Latest Activity: yesterday

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:

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

Rod component 2 Replies

Dear Daniel (et al.)Just for fun, I tried modelling this beautiful clock design by Matthew Gilbert in K2:, when the structure is peturbed in my own…Continue

Tags: K2

Started by John Harding. Last reply by Martin Siegrist yesterday.

Rigid bodies example 2 Replies

To go with the new release, here is an example of some colliding rigid bodies.Note that there is currently no…Continue

Started by Daniel Piker. Last reply by Doctor No on Wednesday.

Dynamic relaxation Kangaroo vs SmartForm 2 Replies

Hi everyone, I was wondering if someone has ever compared the results between the dynamic relaxation of kangaroo with the one of smartform. I am currently doing this for my master thesis but I have still different results.Thanks in advance. Continue

Started by Roberto. Last reply by Roberto Aug 29.

Formfinding with selfweight 4 Replies

Hi, I have designed a concrete shell and analyzed with Karamba. Now, what I would like to do is to do form finding of the shell with its own self weight. Is it something possible to do with Kangaroo?I know that Kangaroo is based on dynamic…Continue

Started by Roberto. Last reply by Roberto Aug 25.

Circle packing definition 26 Replies

Here's an example definition showing how to generate a circle packing from an arbitrary triangulation:…Continue

Started by Daniel Piker. Last reply by Dmitry Aug 23.

Kangaroo2 - About the combination of "Zombie Solver" and "Rigid Body" 7 Replies

Hello DanielWhen combining "Zombie Solver" and "Rigid Body" In Kangaroo 2, the program does not seem to work properly.Is this a bug?Thanks already for your help,Continue

Tags: Rigid Body, Zombie Solver

Started by Shuta T. Last reply by Dylan Slater Aug 22.

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 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 :)

Comment by Grazia Pota on May 7, 2017 at 4:29am

Hi everyone, I've a simple question. Is there an equival component for PowerLaw in Kangaroo 2?

Comment by Will Pearson on February 6, 2017 at 8:49am

Hi AJ, can you describe in what way the grab component is not working? The more detail you can provide, the more help you'll get! What version of Kangaroo are you using? What error messages (if any) are you getting when trying to use the grab component?

Comment by AJ on February 6, 2017 at 7:59am

im trying to use the grab component without big success . following the video (and also another example file > ... not working as well)

help :)

Comment by ALI ESLAMI on January 3, 2017 at 4:57am
Comment by Ramon van der Heijden on December 20, 2016 at 7:43am
Hi Paul Arsene,

That post about organizing the canvas was by me. I have progressed this work quite far, but have not used kangaroo for this so far.
If you're interested, I can send you a prototype of the tool. It is functional, but may need some improvement.
Comment by Paul Arsene on December 6, 2016 at 3:27am

Hello everybody,  few weeks ago I've seen some attempt to reorganize grasshopper code into a readable clean manner using kangaroo, like transforming spaghetti code into clean linear code, but I just can't find it anymore. Any info about this? Thanks in advance.

Comment by Canox on November 30, 2016 at 9:35am

i have a new examples with kangaroo 2 ( soapfil , anchor and tangential smooth ) and laplacian .

in kangaroo 2 is easy to control a mesh tension but is more difficult to have anchorpoints control in the naked edges .

this is the example with kangaroo 2 

this is a example with laplacian .

For produce a differents solutions than "Minimal surface" with kangaroo 2 or  solutions with "Springs" from kangaroo we need to find a specific force that push the Mesh vertex points  to the fix anchor points in the naked edges .



Comment by Canox on November 27, 2016 at 4:55pm

i leave here the definition , and rhino file .

( of course i used Meshmachine settings

28-11-16.3dm )



Search Grasshopper


  • Add Photos
  • View All

© 2017   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service