algorithmic modeling for Rhino


  • Grab interaction should now work in Win10, Bootcamp/Parallels/VMWare, and even in the Rhino for Mac WIP. It now uses Alt instead of Ctrl.
  • The main solver component has been simplified. There were a number of options that I realized were never being used (the AddCurrent option/Restart instead of Reset/adding points separately from goals/turning off parallelization), so to clean things up I got rid of them.
  • The main solver component now outputs an iteration count, and displays the current status (running, paused, reset or converged).
  • There is now a dedicated 'Zombie' solver component. Not the 'live physics' of the usual solver, but not really dead either. This component iterates internally to a desired energy threshold or number of iterations, and outputs only the final result, allowing it to be used like a more conventional Grasshopper component, and more easily combined with Galapagos for instance.
  • Bringing bouncy back! Rapid convergence and stability were the priority in early K2 development, and this was achieved, so things would snap quickly to their equilibrium without much oscillation. However, some people missed the bouncing (hell, it's where Kangaroo got its name from). So there is also now a 'Momentum' solver component. It will generally take longer to converge on a static solution, but swings and bounces and is generally more jiggly and wibbly-wobbly. This might sometimes make it easier to see what is going on when the main solver converges too fast.
  • Faster collisions between any combination of spheres and thickened line segments of various radii. Thanks to Harri Lewis of mule for his contribution here with the improved sweep and prune implementation!
  • New 'ConstantTension' Goal. Instead of a tension dependent on extension, this adjusts its stiffness so the force magnitude is always the same. Can be used for finding Steiner trees, and for boundary cables in membrane formfinding.
  • New 'DynamicWeight1D' Goal. This is a line which increases its weight as it gets longer. Can be used for form-finding with zero-length springs, as described here
  • New 'Pressure' Goal. To control inflatables by target pressure instead of by volume.
  • A few other library changes under the hood

I haven't yet updated all the demo files, nor included new ones for the new goals, but will try to get those up in the next few days. I didn't want to delay any further with this release, as several people had been asking particularly about the Grab component.

A few more features that didn't quite make it into this release will also be along shortly. Also, updates to come soon on some of the great extensions and workflows developed recently in connection with SmartGeometry Gothenburg.


Download it from the usual place:

Views: 5090

Replies to This Discussion

Under the radar update roll-out!


I have investigated collisions in between different solids and a mesh for over a year now with all available versions of kangaroo. So far, I have problems with the latest version. It doesn't seem to stop calculating. The previous version allowed a collision to be changed while it was calculating, didn't it?

Hi Martin.

Which collisions are you referring to? the new Collider goal? If you post a definition you are having trouble with I'll take a look.

Regarding not stopping calculating - the stopping settings and default threshold have not changed. Could it just be that the status display is making it more obvious when it is still calculating? (which can be quite long after visible movement has stopped, as the default threshold of 1e-15 is pretty low). If you don't need that level of accuracy, try changing it to 1e-10, and it should then reach converged status much faster.

Well ...

1.COFF on yields this

and that:

2. COFF off ... er ... loads the 202 (LOL).

3. Additionally when loading previous defs the 202 one coexists with the 212 ones:

BTW: Personally I liked the 202 functionality rather more.

Hi Peter - 2.0.2 needs to be removed to install 2.1.2

The old big Kangaroo component remains in the 2.1.2 gha as a legacy component - it will still show up when loading definitions made with the earlier version, but when placing the component from the toolbar it will always be the new one.

In what way were you using the older solver that you cannot do in the new one? If there was some genuine use case that is not possible with the new version I want to fix it. (I've not seen one yet though)

Hi Daniel, thanks for clarifying this.

(BTW: The Following capability is not working across the whole Forum).

I'll post soon a test case for you: a truss (plus the usual stuff - occasionally LOL) ordered by my buddy Dr. Loveless (Wild-Wild-West). Then we can focus on some areas that maybe need your attention.


Great additions as usual Daniel, thanks! Sweet to see the wibbly-wobbly back as an option - I actually missed it in K2 for some reason. I think it has to do with gaining an understanding of numerical/structural behaviour. Also, it was great to see you in Gothenburg. Let's discuss the 6DOF stuff at some point!



Here's a quick example of how to use the new Collider object. Try using the Grab to drag the objects around (remember it now uses the Alt key instead of Ctrl). Just input a list of points/lines and a radius for each. I'll also post soon another example showing the use of the 'ignore' options


Grab is not working?

struggling on that one

help pls :)






  • Add Photos
  • View All

© 2020   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service