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: 2479
Latest Activity: 6 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:

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

Circle packing: Varying radii 2 Replies

Hi everyone,I'm using Kangaroo2 to do some circle packing on a plane surface. I wanted to have the circle size varying iteratively based on proximity to a certain geometry object (points, curves). Is it possible to have the radii updating while the…Continue

Started by Andre. Last reply by Andre 6 hours ago.

Static test, how to? 4 Replies

Hello Lady's and Gent's,I'm a bit of a nooby on kangaroo, but as a project we had to design a stone bench.I would like to see if it could stand on it's own the way he's cut. Is there already a topic that explain the way to do so (I've been searching…Continue

Started by Duquenne Th. Last reply by Daniel Piker 8 hours ago.

Newbie question re: hinge + collision 5 Replies

Hi all,I'm an advanced Rhino & GH user, but total beginner with Kangaroo.  I'm trying to setup a basic hinge that stops when the two halves crash into each other (think of a hinged bracelet).  I can make the hinge open/close (although it's…Continue

Started by Declan Halpin. Last reply by Daniel Piker 10 hours ago.

Helix spring simulation? 3 Replies

Hi all,I am totally new to Kangaroo and any advice or pointer would be welcome!I'd like to simulate the deformation behavior of a simple helix spring. I've followed some online tutorial and learnt how to create spring behavior. I attached my test…Continue

Tags: changing, shape, Helix, Kangaroo, Spring

Started by Billynew. Last reply by Tom Sholt on Saturday.

Origami Sim Issues

Hi folks,I am trying to simulate some origami folds however am pulling an error: 'object reference not set to an instance of an object'. I have searched around but can't find a definitive solution.Any help would be greatly appreciated :)(gh file…Continue

Started by James Walker May 17.

Kangaroo working 3 Replies

Hi, I'm writing a paper on an algorithm involving Kangaroo, so I would like to investigate more in depth how kangaroo does works, is there some sort of documentation about the phisical rules which are used inside nodes and what does stiffnes and…Continue

Tags: documentation, kangaroo, rules, behaviour, formulas

Started by riccardo foschi. Last reply by riccardo foschi May 8.

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.



Search Grasshopper


  • Add Photos
  • View All

© 2017   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service