Bongo 3 Development

If you make it so smart to decide (select) the axis of rotation automatically instead of the user then you wouldn’t be able to create the other case



Is it me, or are a lot of the features I’m seeing previewed here very similar to those that Daniel Piker has demonstrated in the past for Kangaroo?

When much is made of the limited labour resource available within McNeel, it seems strange that there are two apparently similar softwares developing in parallel, without one interacting with the other.

skysurfer’s comments about using this for proofing prototyping mechanisms are right on the money for me. Being able to set up Rhino objects with user-defined constraint movement would be very useful, along with collision detection (both in the sense of physically ignoring the collision but highlighting it, or respecting the collision and preventing further movement). Both are useful on occasion. Same goes for gravity simulation. Softbody isn’t so useful for me professionally but is interesting nonetheless.

As for user interface, as long as the relationships can be easily identified, accessed and edited after the fact, I don’t mind how it’s presented. How about something gumball-like, where the degrees and types of freedom between to parts are shown as a widget?


I believe it is you.

1st of all Kangaroo is not a physics engine.
Here an actual physics engine is used.

I could disagree with that. What is your professional field?

But the reasons for someone to use them, and the desired outputs, are the same? You’re talking about the means to arrive at a result, not the ends.

I’m an Industrial Designer. If softbody could reliably model something like equilibrium state for someone (with a backside of user-defined hardness) sitting on a seat with a foam (of user-defined hardness), then you’ll have my attention!

Of course :slight_smile:

You know there’re many ways to mimic every physics motion.
I prefer not to create an animation frame by frame moving the object and taking screenshots. (old time animations from the era of Walt Disney motion pictures) and clay/goo animations.
Neither what kangaroo does, trial and error (dynamic relaxation) eventually getting a convergeance (or not). This is closer to how FEA simulates, in turns that the motion is not in real time. You may end-up waiting a lot to see results.

Some simpler motions for which you need the rea-time motion even though not so accurate in trajectory you need a game-engine like behavior.

Customers like pretty videos with rendering. :wink:

Also motions like what happens inside an Motor Engine or GearBox is much much easier to create if you have collision and co-axial motion than if you have to create it currently in Bongo. Trying to calculate angles of rotation so that gears don’t collide.

On the topic of gears, the 2d curve collisions in Kangaroo recently got a serious update:

Rigid curve collisions
This works with native Rhino curves directly, so no need for any meshing or discretization, and is there to use now.
The 3d rigid body constraints have also been updated, fixing a serious stability problem that existed before:

swashplate simulation
3d collisions between rigid bodies are still not great, but I’ve got an update for that in the works too. I wouldn’t expect it to be able to handle collapsing stacks of thousands of boxes in realtime - Bullet or PhysX are still your best bets for that kind of thing, but for things like making sure the parts of your mechanism don’t pass through each other I think it can be enough.
Soft bodies in Kangaroo, both 2d and 3d are continuing development, with an emphasis on customisability and accurate elastic deformations.

Whatever happens with Bongo, my plan is still to make the Kangaroo solver accessible directly in Rhino.
Something I think could allow very flexible ways of making animations (using whichever solver is most suitable depending on the task) would be a simple timeline editor for Grasshopper. Just basic keyframes and curves, and a way to link those values to Grasshopper parameters. Of course you can do this now with complex collections of linked sliders, but it’s rather cumbersome if you want a sequence of multiple movements. A unified timeline could make a big difference.


funny the link point to a treadh that ends exactly with my request for a more parametric like interface for rigid body.


Hi Joshua,

I’m not sure how the setup at Bongo 3 will work, but please look at this old thread:

In the past there was a Rhino plugin called Rhino works. It allow to simple connect objects per constrains. It could be great if this could be done at Bongo 3 too. I never liked the complex way to setup a IK at Bongo, it is not intuitive. Rhino works shows how simple it could be.



Right! Rhinoworks.
I almost forgot it. it was exactly what’s needed for setup a rigid body mechanism in a snap.
good hint @Micha!

1 Like

Thanks @Micha,

I haven’t ever seen RhinoWorks plugin.

@Luc, @Joshua_Kennedy,

My humble opinion what is seen in this video is more valuable than the physics engine. Not that the physics is not valuable it is valuable for CGI, just not so much for mechanical engineering.

1 Like

Rhino Works was a dream to use, nearly no knowledge was needed to setup complex mechanisms. Only the price was to high for the plugin, so it doesn’t found so much users.

I knew this kind of simple constrain based workflow from the old free parametric 3D modeler Pro/Desktop (PTC). Only a few simple constrain types was needed to create complex mechanisms. I suppose so the animation module is still used in PTC products.


I agree. RhinoWorks is quite interesting. I think there’s some good ideas for the object set up in there. Improvement of the IK system is definitely on my checklist.


I’m watching over his shoulder :wink:

And hey Misha and Ivelin, don’t get hypnotized by flashy speeded-up demo videos. I bet I too can make a similar one (using a carefully designed model) in which everything seems to go fast and logic like child’s play.
I laid a proposal for an more intuitive approach on the drawing table – see what Joshua and Rhino’s SDK can make of it.


By this you mean dotnet, right?

Hey I’m not a developer. I only mean by SDK the Software Developers Kit Rhino provides. As I understand Bongo has to operate within the framework SDK offers.
@nathanletwory help me out here! :dizzy_face:

In the case of Bongo it is the C++Rhino SDK.

Hi Nathan,

Even Bongo3? :frowning:

I would think so. I don’t see rewriting Bongo for 3 as a feature.

You are probably looking for a .NET SDK provided by Bongo, which still is possible. But completely separate issue from what Bongo uses to integrate into Rhino…

Yes, that is what I meant .NET SDK provided by Bongo.

Hi Luc,

the truth is - it is so simple, also after years and for beginners. :wink:

I use Bongo only a few times per year and setup an IK was nightmare for me. The constrain workflow is like playing a game, very intuitiv.


1 Like