Bongo newbie question: workflow for linkage design

I want to use Bongo 2 (Bongo 3?) to explore design options for a multi-link hinge mechanism (somewhat akin to a Blum cabinet hinge).

I would like to be able to make a schematic of the links and pivots in Rhino, apply the IK constraints and driving motion to get a set of viable movements, and then change the Rhino link lengths and hinge positions iteratively to see what happens to the movement.

Can I change the physical model on the fly like this, or do I have to remove the Bongo constraints on an object before I edit it and then reapply them afterwards, before rerunning the animation?



Something like that is likely possible but probably not with very complex geometry. I set this up in Bongo 3 with a few points connected together and a history enabled polyline through them. The sliders allow you to adjust the lengths and the hinge controls the rotation. You’ll have to be in animation mode to modify the rotations/lengths.

Hinge_Example.3dm (166.9 KB)

With Bongo 2 a similar setup could be created with IK, but it would be much more challenging to put together.

Hi @Joshua_Kennedy,

That is really helpful - thank you.

(Except right now I feel like a member of a primitive society watching an alien spaceship floating in front of me: I see what the spaceship is doing but I cannot comprehend the technology making it happen. I’m going to have to make a pot of strong coffee this evening and study this piece by piece.)


@Luc has a handful of videos he made about the Connections in Bongo 3. Here are some that might be helpful.

Also enabling the IK information in that file might help clear things up

1 Like

Despite some Covid 19 leftovers clouding my brain, I managed to make 2 versions of the structure of a Blum hinge: one in 2.0 IK and a 3.0 Connection version. In order to get an idea.
Blum.3dm (59.9 KB) (The model is Bongo 3 WIP)

The Blum structure is (surprisingly) simple: a chain of 4 consecutive hinges constrained at the beginning and end. The structure of the corresponding IK chain is rather plain to see - probably apart from the use of an auxiliary point at the end of the chain.
The video The scissor arm: the conception of an IK chain in Bongo 2.0 - YouTube illuminates the use of auxiliary elements in a IK chain.
Linking the various parts with some Spindle Connections is even more obvious. Hey, that’s what Connections are for!

Apart from that I feel the solution using Connections to modify the position of the Spindles is the easiest way of altering the structure of the mechanism, and hence is most suited for Jeremy’s purpose.

Unfortunately @Joshua is not (yet) convinced that editing the locating (and even orientation) of Connections should be made available. At the moment a Connection has to be deletes and reinstalled. In doing so it is difficult to remember what the previous position was, hence one could to deploy auxiliary pointing objects etc etc… I feel that relocation (and reorientation) of existing Connections is an essential attribute for the study and design of all kinds of folding mechanisms, which in my experience are very common in the world of design. (

Nevertheless I still believe tweaking Connections (even by deletion and reinstall) is at the moment the most suited for this purpose.

  1. In IK the objects are linked hierarchically. Altering the basic structure of the IK-chain isn’t obvious. The impact of a relocation of an object is always relative to the object’s parent only, which can be very confusing for the user. Secondly, relocating an object in a ‘closed system’ like this will also move other than the intended hinge, hence the entire shape of the tetragon formed by the 4 hinges is changed. Highly uncontrollable and thus unpractical.

  2. Another approach is the use of the BongoMovePivot command to relocate a hinge in a IK chain. This will leave the other pivots unaltered. However the resulting disruption in the relationship between the object and it’s pivot, when one alters more than 1 pivot can become very confusing. Again not very practical.

  3. Finally there is Joshua’s idea of using slider connections as a kind of parameters for the length of line segment (see above). Also this method alters the shape of the tertragon, which again makes the process very difficult to control. Moreover I think that the user interface to animate and manage the keyframes of Connections is still far to primitive in the current WIP. I also found that by tweaking the lengths occasionally the tetragon becomes concave, which can be possibly be cured by installing minimal angles etc etc…. Cumbersome.

Conclusion: hurray for Connection editing.