algorithmic modeling for Rhino



Kangaroo is a Live Physics engine for interactive simulation, optimization and form-finding directly within Grasshopper.

The Discussion Forum below is the best place to ask any questions about using Kangaroo.

(Avoid posting questions on the Comment Wall, as it does not allow organization of replies)

Members: 1672
Latest Activity: 2 hours ago

Discussion Forum

New origami example 27 Replies

Origami_simplified.ghThis example shows the use of the new user object…Continue

Started by Daniel Piker. Last reply by Jun Luke Wang 2 hours ago.

Equal triangles distribution on non-planar surface 2 Replies

Hi guys,I intended to create equal triangles distribution (like diagrid) on non-planar surface with Kangaroo.I've been tried it with paneling plugins, but it's not worked for nonplanar surface. It gave me triangles with different angle.I want to…Continue

Tags: triangle, equal, Kangaroo

Started by Boogey. Last reply by Boogey on Tuesday.

Kangaroo Box Collide + Curved Surface Distribution troubleshooting

Hi everyone,I recently started using Kangaroo and have been trying to distribute points with associated boxes across a surface. I've managed to distribute the points without too much trouble, however I now want to make sure none of the boxes…Continue

Tags: Surface Distribution, Box Collide, Kangaroo

Started by Sean Taaffe Sep 10.

Pantographic/ Scissor 2 Replies

Hallo everyone, as known that a Pantograph or a Scissor works typically at least with 2 bars which are sharing a pivot, and, if needed, a fixed anchor:…Continue

Started by Frank. Last reply by Frank Sep 5.

AnchorSpring: Constrain an anchorspring-point to a certain range 2 Replies

hello to everyone.I will find really useful to be able to constrain an anchorspring-point in a certain range from the original one during a simulation.Rightnow I can use "Sticky" in AnchorSpring to make react this component only after having…Continue

Started by Davide Scialò. Last reply by peter fotiadis Aug 23.

Optimizing for specified edgelengths 13 Replies

Hello everyone!Is it possible with Kangaroo to optimize a certain topology onto a surface, so it has only a few specified edgelengths?The goal would be to not have transition between the edgelengths, but approximate a few specified values as much as…Continue

Tags: length, edgelength, edge, multiple, mesh

Started by sas som. Last reply by taz Aug 21.

News and Updates

Loading… Loading feed

Comment Wall


You need to be a member of Kangaroo to add comments!

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!

Comment by Daniel Piker on August 16, 2012 at 2:42pm

Hi Adam,

The remove duplicate points component works simply as follows:

Given some input points:

- add the first one to a new list

- check if the second point is below the tolerance distance from the first. If it is, ignore it, if not, add it to the list

- check if the 3rd point is below tolerance distance from any of the points already in the list. If not, add it to the list

and so on...

Bear in mind that the results do depend on the order of the input points

Comment by Adam Laskowitz on August 16, 2012 at 11:32am

Hello Kangaroo people. I have a question regarding how a certain component works.

I was trying to create a definition which took a network of points, and reduced the amount of points based on "redundant" values (within a certain tolerance).  I found the "duplicate points" component in Kangaroo which seems to do what I want to do.

I was just wondering though, What exactly does this component do? Mathematically, if anyone knows? Thank you!

I need to be precise in how I am doing these calculations, so I would like to know just how it is working.

Comment by Scott Penman on July 17, 2012 at 11:11am

Arslanov - you can use a timer component in combination with Firefly to do this. Firefly has a component called "data log" which records incoming data. Record the input values and compare the newest one to the previous one - use the output of that (true/false) to determine the state of the Kangaroo engine. You'll also have to attach your timer component to the input values that you're changing. See attached

Comment by Arslanov Timur on June 5, 2012 at 10:31am

Hello. How can I do to Kangaroo reset every time you change the input? That is so that the input parameter "SimulationReset" changed to "true" and whitelist back to "false". And so every time you change the input data. Automatic reset is needed to create an optimization algorithm with the Galapagos.

Comment by first1 on May 3, 2012 at 5:58am

Members (1672)



Search Grasshopper


  • Add Photos
  • View All

© 2014   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service