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: 2715
Latest Activity: 15 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:

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

Problems installing kangaroo 3 Replies

Hi, I am trying to install Kangaroo in a machine running Grasshopper 0.9.0076 and Rhino 5 SR 12.When loading Grasshopper I get the following errors:Object: MeshMachineComponent3 (level 1){Exception has been thrown by the target of an…Continue

Started by mire. Last reply by Carolina Wundes on Sunday.

The interconnectPoints component that did not work in version 2.42 1 Reply

Hi there.I found a problem,The interconnectPoints component that did not work in version 2.42; I repeatedly checked in the older version of 0.99 is normal. Is this a BUG?Continue

Tags: work, in, version, 2.42, not

Started by ANNA. Last reply by ANNA Mar 16.

Circle packing definition 29 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 Daniel Piker Mar 13.

Scripting Kangaroo 2: check for convergence? 2 Replies

Hello all!I'm learning to do some C# scripting with Kangaroo. I was wondering if there was a built-in or easy way to test for convergence of a simulation within the Library, or do I have to make my own checks on particular geometry?I'm trying to…Continue

Started by Oliver Bucklin. Last reply by Oliver Bucklin Mar 6.

Gyroid structure 12 Replies

Hey guysI'm trying to find a simple way to make gyroid structure by kangaroo, anybody know what's the best way?! I'll be happy if you share your related experiences with me, thanks! …Continue

Tags: Structure, Kangaroo, Gyroid

Started by Ali Bazazan. Last reply by Xin Mar 6.

Origami in Kangaroo2 3 Replies

Hi Daniel,I am using kangaroo2 to model origami.When I try to open your example files, it says that some objects are not available (springs from line, fold angle, hinge points). Could help me on this? Best Regards,AnaContinue

Started by Ana Clara Vianna. Last reply by Daniel Piker Mar 6.

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

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

I am working in a nodes project for 3d printed  structures and its difficult find a smooth transition between the branch and the joint with springs force .

I am trying to improve the tangency between  the the final mesh at the anchorpoints  and each branch direcction rest lenght in springs force.

At the same time avoid the mesh to go in a convex direcction and have a smooth transition.

How we can find a definition  , where the are diffents settings from  rest lenght and stiffness to find a correct mesh  ? i tried to apply unary force in some points to the mesh in every anchorpoint without success

this is de example that i work with 

this is what i get normally , with rest lenght and stiffness settings  

this is my goal , where there are a smooth transition in every branch direccion 

thanks !!!!

Comment by Jon on November 25, 2016 at 2:22am

Hi Riccardo,

you shouldm install weavebird.






  • Add Photos
  • View All

© 2018   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service