New version Kangaroo2

Just in case anyone missed it, there’s a new version of Kangaroo2 plus some great new vids from Daniel Piker. Looks pretty easy to set up some simple constraints now. :grinning:


That looks fantastic!

Oh this is slick Mr Piker. I had pretty much given up on Rhino for mechanical assemblies but this changes everything! :grin:

Once I figured out how to wire everything up in grasshopper/kangaroo2 it was just a matter of making a few of the unknown parts adjustable (rocker arm/ balance strut) and moving some points around until everything worked. :grinning:


Considering what a significant landmark this is for the development of Rhino as a true competitor to the solid modellers, I’m surprised it hasn’t been given a bigger fanfare. I can now see a way forward to V6, leaving Rhinoworks (which has never been that comfortable to work with) and V5 behind, at least on this front.

I don’t currently use GH or Kangaroo, mainly because of the learning curve I’d have to climb. Watching the three Daniel Piker videos at the start of the thread and seeing those extensive drop-down menus flash into view sent cold shivers down my spine. Very reminiscent of the training course for ProE I went on nearly 20 years ago - a programme I never got to grips with precisely because of the learning curve. BUT - now I can see very good reason to give it a try.

I don’t like the model trees so beloved of the solid modellers. They are a noose waiting for the unwary to walk into and a nightmare for the legacy user to figure out. However, I’ve not seen anything, even in my own imagination, that could be used as a competitive alternative. I am a member of the Flat Earth Society waiting for the epiphany. Perhaps the GH ‘maps’ is it. But can they be tamed to make them any more comprehensible than a tangled model tree as seen elsewhere? Picture the size of the GH map (Forgive me - I don’t know the proper term for them) that would be needed to define and constrain the undercarriage leg that FD shows in the B/W sketches. Perhaps the GH maps themselves could become three dimensional in time!

1 Like

This looks really interesting!

Probably a silly question, but one thing puzzles me as a newbie on Rhino: When I try to drag the objects as in 1:50 in “Mechanical Assemblies with Kangaroo - Part 1”, holding down the ALT-key and drag with the left Mouse Button (as mentioned in the video), the object freezes at the current location in the view, or gets copied. I also can’t snap to the other object (I’ve tried different settings on Osnap). In short, my objects simply can’t be dragged in such a loose & dangling way as in the video.

Q: Is there a setting I am missing in order to achieve the same kind of drag behavior?

I have tons of objects to connect with Kangaroo.

// Rolf

Hi Rolf,

This Alt+LMB to drag is only for the Kangaroo/Grasshopper geometry - I usually have everything hidden in Rhino while manipulating it like this. It will also only work when you have the grasshopper definition set up with the ‘grab’ component.

the files for the videos can be downloaded from here:

If you try opening the SliderArm example there and try using Alt to drag does that work?


Thank you for your quick reply!

I tried attaching “my” GH/Ka logic (as described in your video) to your model (“TutorialFiles”), and it worked. Ops. So I tried again with my own model and…, well, it worked. :slight_smile:

I must have pressed the ALT-key after starting the dragging, and also not picking exactly on the crosses. If first pressing ALT key and only then starting to drag by picking very precisely in the corner crosses, then it works.

Sorry for bothering you with such trivial things. But anyway, Kangaroo is amazing stuff.

// Rolf

No problem.
About the precision needed for picking - you can adjust this by changing the value in the ‘Range’ input of the Grab component. Since it uses absolute distances, the default setting of 3 might be too small if for example you have a model several metres across with units set to mm.

1 Like

Yes, that did the trick. Thanks. Now I got my own model of a dangling ball joint.

BTW, what’s the general approach to adding gravity to an object? (I tried searching for a “gravity” component but no match).

// Rolf

I thought I had the ball joint following perfectly, but dragging fails when dragging from one of the objects while it works fine when dragging from the other end.

When it fails the coupled objects starts spinning like crazy and zooms in or out depending on drag direction.

Is this to be expected or have I done something wrong?

Edit: OK, I tried increasing Grab/Strength, and then dragging works in all directions. Problem solved.

// Rolf

This all looks great. However, trying to follow along I noticed the tools don’t even look like those in the video. Rigid Body has more input parameters. So by the time I get to the Solver, I can’t join the Grab function while having it connect to the Rigid Body.

Hi Ken,
In Grasshopper you can hold down the shift key while dragging to connect more than one wire into the same input.
So in this example you would connect the G of Grab, and the RB of RigidBody both into GoalObjects.

The new Plane input and P output of the RigidBody are optional. For this definition you can ignore them and continue to use it as shown in the video.

Each rigid body has a plane which defines its position and orientation. If another goal (such as the rigidbody collision) is to act on the same body it needs to be provided with the same input plane. By default Kangaroo uses an XY aligned plane at the centre of mass, but if for some reason someone wants to set this to a different plane they can do so.

1 Like