Bongo 2 IK - not user friendly and intuitive

(Luc Adriaenssen) #22

Looks pure and simple to me: object(s) selected in Rhino Viewport = object(s) selected in Pedigree and vice versa, selected in Pedigree = selected in Viewports. Just like actually with the current Animation Manager. All classic multiple selection features (shift-click, ctrl-click, window…) vacant.

(Luc Adriaenssen) #23

To accommodate occasional users (like Micha) one could consider a multifunctional command to install a connection (“BongoConnect”?) (joint is already in use by Rhino) between 2 objects,.
It is assumed that all objects are in the desired position (relative to each other) from the start. Rhino has sufficient tools for that purpose.

Steps would be:
Select object to connect
Select object to connect to (SnapIntoPlace=Yes)
Pick location of connection The use of Rhino’s Osnap is obvious.
Set type of joint (Hinge Telescopic Rubber band)
Define turning/sliding/stretching direction (X Y Z Custom Parallel)

The command will:

  • make the first object child of the second (just like BongoSelectParent)
  • move his pivot to the indicated location.
  • set the right kind of joint.
  • set the right axis
    The ‘Custom’ option offers the user an interface like in BongoChangeConstraintHeading.
    In the ‘Parallel’ option the direction of independent line or the edge of a (poly)surface can be selected (like in Filet commands) by the user.
    If desired direction is not World-orthogonal the pivot is rotated (using Z by default?) and ‘Rotate in world space’ is disabled (for Hinges). It is maybe a good idea to do this (Object Space for Hinges) anyway, just in case the objects are reoriented afterwards.

An example is shown in Connect.3dm (478.4 KB) under A

In the second step an option ‘World’ could be included meant for the beginning (head) of an IK-chain
Select object to connect to (SnapIntoPlace=Yes World)
When the option is chosen the first (and only) object is given a pivot with joint properties as defined by the further steps of the command.
See B in the model above.

In the fourth step an option ‘None’ (or Fix) could be included meant for users accustomed to this command to be employable as an equivalent for “Select Parent”.
Set type of joint (Hinge, Telescopic, Rubber band, None)

One could think even further.

When the object to be connected to is already ‘child’ (no child can have 2 parents) the procedure could offer a dialog: This object is already a junior in a hierarchy (ChangeParent UseConstraint).
ChangeParent : the object is detached from his current hierarchy, hence allowing execution of the remainder of the procedure as described above.
UseConstraint : In any case an auxiliary point is added at the chosen location, which is made child of the object. The further conduct then depends on the nature of the ‘to-connect-to’ object.
In case this object is:
• ‘World’ (option described above): the auxiliary point is constrained to his position (‘Keep pivot location the same’). No further action of the user is needed
• A point: the auxiliary point is constrained to the point ‘to-connect-to’. No further action of the user is needed
• A line, curve, surface or an extrusion: a second dialog: Select type of connection (Fix/twirl Slipping) is needed
Fix/twirl : A second auxiliary point is added at the chosen location and made child of the ‘to-connect-to’ object. The first auxiliary is constrained to the second.
Slipping : The auxiliary is constrained the line, curve or extrusion.
No further action of the user is needed
• A polysurface: The Fix/twirl procedure as described above is performed. No further action of the user is needed

Al five cases are illustrated in Connect 2.3dm (878 KB)

I think this kind of automation could work for simple IK-chain structures. Application on more complex puzzles could probably result in messy (malfunctioning?) structures?
One could fear such ‘automations’ would prevent users to grasp the fundamental principles of the hierarchical scheme of Bongo?


Hi all,

  • Tip: One of the most basic intuitive features missing is the lack of mouse-over tip over keyframes, indicating what the name of the attached object. As it works now, it takes lots of guesswork to find out what objects belongs to a specific keyframe, although finding this out quickly is very useful when adding and modifying keyframes on the timeline.

  • Mouse over: On “Mouse Over” a keyframe, the corresponding object should be highlighted in the Bongo panel, and possibly also in the drawing (without releasing any already selected objects, of course. See pictured below). Which leads to the following intuitive functionality as well :

  • Double click: Double clicking a keyframe should of course directly open the keyframe for the corresponding object

// Rolf


There have been no upgrades and no bug fixes for 19 months!

(Luc Adriaenssen) #26

Right you are. I hear the developpers are working on it right now.
Were there any bugs or malfunctions you want to report?


It seems that all Bongo bugs are in its inverse kinematics. I described some of these bugs in this thread. Some of these bugs may actually be confused with lack of information - Bongo does not display essential information about animated objects. Bongo needs graphical user interface which provides ALL information about the animated objects. When precalculation freezes Bongo, warning icon should pop up and give the option to stop the precalculation.


Fusion 360 is notable for extremely easy animation and inverse kinematics. Watch this video from 34:45 to 36:45.

(By the way, Fusion 360 is also notable for its T-splines. Most CAD programs, including Rhino, cannot handle sharp conical surfaces because they are based on NURBS. Fusion 360 does not have this problem because it is based on T-splines.)


Back to RhinoWorks - simple animation like for children was available for Rhino - RhinoWorks was the answer, simple like to play with Lego bricks. Simple connect parts by constrains, no difficult link chains was needed. If special Bongo functionality was needed, than a Bongo animated object can be set as actuator.

Bad news - RhinoWorks isn’t available anymore. Good news - the geometric solver is available for developers.

So, Bongo could be one of the simplest animation systems by adding the geometric solver of Bricsys.

Here a short video like it was working:

Does Bongo have an actual physics engine, or is it just animation?

Just to add my 2 cents to the conversation, I think Bongo could benefit by using less palettes. It seems broken up into several palettes when it could be just 2. The fewer the more concise.

Rhino works looks very interesting.

(Luc Adriaenssen) #31

What exactly do you mean by pallets? Which ones would you combine?


I mean tabbed windows that fit into the sidebar area. There is the Object Constraints Mgr, the Object properties, etc. If these were more combined it would be good. I would like to double click on the icons in that make up the constraints and get more info on a popup window.


(Nathan 'jesterKing' Letwory) #34

Should be visible now.