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: 1816
Latest Activity: 14 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

Kangaroo 2 30 Replies

Hello Daniel i have downloaded and installed Kangaroo 2 but i cant interact with the rhino viewport, i have installed rhino 5 64 sr11, both files are unlocked, do you have any idea why this happens?Continue

Started by dvdrbls. Last reply by Art Agent yesterday.

paper strip model with kangeroo? 25 Replies

I want to make a model of a twisted cylinder.Saw this video on vimeo and thought maybe Kangeroo would give me a possibility to make it digitally…Continue

Tags: surface, developable

Started by Jesper Thøger Christensen. Last reply by federico giacomarra yesterday.

hanging geometry

Hello all,I´m looking for some help for a "simple" Kangaroo definition.I want to see how a geometry hanging to a rope is moving.…Continue

Tags: kangaroo

Started by 3dcon yesterday.

RhinoWIP + GrasshopperWIP + Kangaroo2 display issues

Hi All,Not sure if this is the best place to post this as I don't know where the problem lies but using Kangaroo 2 with RhinoWIP and the GrasshopperWIP causes some serious issues with display.Rotating, zooming, panning the viewport works but with a…Continue

Started by Guido Maciocci on Thursday.

Kangaroo 2 Example Files (from install package) 2 Replies

Minor point but didn't want to get it confused with installation issues so I started a new discussion...Was clicking trough the example files and "" flagged up "removeDuplicatePts" as being from v0.099.That's kind of a biggie.  Is it…Continue

Started by taz. Last reply by taz on Wednesday.

Sorting Points for 4pt Surface 3 Replies

Hey Guys,I was looking at the Catenary example and was wondering how we could built from the output (polylines), surfaces (like 4 pt surface)... since the points are all crazy sorted.Cheers…Continue

Started by Rodolfo de Albuquerque Torres. Last reply by Rodolfo de Albuquerque Torres on Wednesday.

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


Comment by Pantelis Adiavastos on December 7, 2012 at 10:21am

thanks Mostafa!

for more stuff and details go here

English booklet coming soon

*daniel excuse me I was intending to go for Daniel rather than Mike in my last post :S

Comment by Mostafa R. A. Khalifa on December 7, 2012 at 6:36am

Good Job  Pantelis Adiavastos... conguratulations....(^_^)

Comment by Pantelis Adiavastos on December 7, 2012 at 3:08am

hello people, hello Mike,

the following is my thesis project, that used kangaroo to generate  tents for a kinetic interactive structure

Comment by rovinida fitriana on November 18, 2012 at 11:55am

can you upload example kangoro gh definition file for something like wedgrid or optimized path?

Comment by PEPE ALGECIRAS on November 15, 2012 at 7:42am

Hi all,

I was trying to make a family of tangent incircles in the mesh but I don´t know what can I do to make it work.

I tried making pairs with each face and its adjacent but it seems to be a wrong way, any hint?

thanks in advance


Comment by M NICK on November 6, 2012 at 4:05pm

Hi Daniel, 

Is there any example for Gridshell Form Finding using Kangaroo?

I am new in Kangaroo and couldn't find any related example to my work.

Thanks a lot


Comment by Daniel Green on October 7, 2012 at 8:24am

Hi Daniel,

I'm a structural engineer and I'm particularly interested in using Kangaroo for form-finding of 'efficient' structures. I was wondering if there is any capability, current or imminent, to deal with rigid bodies (e.g. a bridge deck or pylon) and allow them to interact with the rest of a particle-spring network? I've attempted something similar before but had difficulty moving past particles and forces to rigid elements with rotational inertia and subject to torques.


p.s. top work, this is a fantastic tool.

Comment by Daniel Piker on August 16, 2012 at 3:04pm


It depends what your aim is. This component was originally made just for removing points which were exactly or very near exactly coincident, as a way of making sure spring networks were properly connected at the nodes before simulation.

For these purposes which of 2 almost identical points it took didn't matter, so it always just takes whichever is first in the input order.

If you want more control over how it chooses which of 2 nearby points to keep, such as always choosing the highest, then I'd recommend writing your own script for it.

Comment by Adam Laskowitz on August 16, 2012 at 2:48pm

Daniel, thank you for your response. I am most interested by your last sentence.

For example: if I have a network of points at varying heights. I want to remove points that are redundant in height value surrounding its neighboring points. 

Would you advise I sort the points based on X and Y values such that the order in the list would be successive points.

Also, is there a way to know if a point at (10,10) is begin compared to a point at (11,0)?

Sorry for the detailed questions, just trying to understand if this component can in fact work for me.

Thank you!



Search Grasshopper


  • Add Photos
  • View All


  • Add Videos
  • View All

© 2015   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service