Bongo for Mac

I am at a stage with my object where I really need to animate the object for presentation purposes.
Is there a plan to have this integrated in the upcoming updates or is this not even in development, which I understand.

Thank you

I don’t use rhino at all for rendering. I export as obj to Blender and do all my finals in that. It’s extremely capable from an animation standpoint.

While I’m sure that Bongo will make it into MacRhino at some point, I don’t believe that it will happen in the near future, no.


You use blender to final your work, that is interesting.
Even when you use mechanical components that need a “parent/child” relationship?

Thanks for the idea, I have not worked with Blender before. I guess I need to welcome another learning curve!

Absolutely. I’m not super familiar with bongo, (just looked at a couple youtube vids, as knowing there was no mac support it wasn’t worth bothering with for now), however blender can more than likely do everything Bongo does and then some.

It has support for all kinds of parent child stuff, configurable restraints and constrants, fCurve editors, and a large variety of keyframe assistants for things like ease in - out, cyclics, data driven keyframe drivers, etc. You can do things like enter expressions for key values based off other object data, and completely script it via python if you wish.

Somebody at McKneel is working on a plugin for blender to enable using it’s Cycles render engine in conjunction with Rhino, and my guess is that when complete willmore than likely will greatly ease the export process as well.

There’s a tad bit of setup, I model everything in MM and Bender’s native metric unit is m, so I just parent the export to a empty node and scale the empty down to 0.01 and that handles the scaling issues.

My main reason for using blender is Cycles. It’s a very capable render engine, fully node based for both the materials and environment aspects, as well as having a full on compositing engine as well.

As a result I can do full multipass renders, have access to all the render components separately on a per layer basis, and can tweeze the crap out of the render settings to save time. It supports multi-GPU rendering and while not quite as fast as say Octane on the same hardware it’s at least 8-10X faster per frame than a CPU render, For what I typically do my CPU only renders would take anywhere from 12-18 minutes a frame and on my GPU’s I’m getting most stuff done in under 3 per frame and that’s with doing multiple passes for a shadow layer, a separate pass for non transparent, and a 3rd pass for all the transparent and refractive stuff, with a compositing process post render per frame.

The materials editor is node based, and very flexible.

It supports subsurface scattering, ambient occlusion, ray path branching, and pretty much everything else you’d want from an unbiased renderer, except refraction based dispersion, and you can get around that with a fairly simply custom node setup.

Physics wise it has a very usable rigid body engine, fluid dynamics, soft body and a raft of other stuff I haven’t played with at all. For an open source project, it’s remarkably robust. I haven’t had a single crash yet, even with running fluid sims with 8-10 million poly geometry.

The only downside is it’s pretty much a polygonal environment, so you need to export to STL or OJB (I use the latter). It works for me, as I tend to model in chunks, so as I complete a given aspect of a model I’ll do a quick export/import of that bit as a reality check and keep moving on.

Early on I made the mistake of attempting to finish the entire model before exporting and if I had some glitch in one of the parts (non manifold or what have you) it made it a PITA to track down what broke. Doing piecemeal sanity checks has saved me countless headaches.

I guess some wires got crossed here :wink:.
@nathanletwory used to develop the Cycles render engine in Blender. He is now working on a Cycles plug-in that will run in Rhino. It’s not a plug-in for Blender but for Rhino. There is no functional relation to Blender here in any way. - Unless I’ve totally missed that part, at which point I’m sure Nathan will correct me.

Thanks. I knew it was something along those lines, but hadn’t payed a whole lot of attention to it as it was for the Windows variant.

I have one more question,
what is the best file to export from Rhino to import into Blender?
Do you have a preference?
Additionally, if your piece has multiple parts I seem to experience, if I export all at once then Blender treads the object as one and not as individual parts. Any suggestions on how to approach this issue?

Thank you for all your help, LewnWorx

OBJ is probably the safest bet, but FBX should work fine too. You can try COLLADA (.dae) as well, if you run into problems you can poke me, I used to work on COLLADA support in Blender, so I might be able to help there.

Probably doing piece-wise export helps with the import steps, materials I wouldn’t worry about, it’s likely better to (re-)create them in Blender.

I haven’t really tested Rhino and Blender as part of a pipeline, but my guess is that your objects will get exported with their origo at world origo. If that happens you should relocate object origo to geometry center before continuing with other pieces.Of course, having object origo elsewhere than geometry center is possible, it really depends on how you need to animate.

Lastly, if you want physics and constraints like hinges and springs this you can add in Blender to your objects. There’s even real-time animation and manipulation possible.

Back on Bongo, I’ll make an inquiry with @andy what the plans for Bongo on Mac are if any.

I’ve actually never developed Cycles before starting work on RhinoCycles, but I’ve been an active Blender developer since 2003. Not so much more for the past few years, though, but on my YouTube channel you can see what I’ve worked on :smile:



Thanks for that clarification, Nathan.

Agree with Nathan. I use obj, as it keeps the object names from rhino. Makes identifying things a LOT easier.

I’ve set up a default startup file in blender that besides my various default lights, compositing nodes and multi pass render layer and environment stuff also has a few nested null objects (blender calls them empties), so when I import the obj I can parent them to the topmost empty in the chain. I model principally in mm’s and blenders units take that to be 100x the size, so after I set everything to be parented to the top empty I set the scale of that empty the 0.01 in x,y, and z to get everything back to scale with the default studio backdrops I have in my startup file. From there I start moving various individual objects from the import to go under the other nested empties for animation purposes (like if things need to rotate or move in relation to each other, etc)

Another trick I use a lot is to name multiples of objects in rhino to the same thing if they all fall under the same empty node and will need the same material for render purposes. They’ll still have thier original special relationships and geometries but I can the assign one material to them all in one shot.

The other stuff I’ll do animation wise is setup simple formulas between attributes as drivers if for example I have a gear train or something and one gear has 30 teeth and the other has 10 I can define one to have its rotation be 1/3 of whatever the rotation of the other is. Just using drivers like that allows you to quickly set up some what would. Be really tedious to key frame. Then all I typically need to do is key frame one object and several others will take care of themselves. In other cases I’ll use constraints. My stuff isn’t that complicated so I generally don’t need to dive into full scale rigging with. Bones and Ik and whatnot.

The rigid body and soft body physics are also there if you need them, and you can do some very slick stuff with that if you need it. Be careful of the fluid sim stuff, as it’s addicting as all he’ll and you can lose hours if.not days playing with that. I’ve had absurd fun dropping my models in tanks of water and then key framing the gravity for grins just to watch tiny little models start miniature psunamis.

There’s tons of extremely good resources on YouTube for most of this stuff.

Once you get your head around it’s somewhat funky ui it’s very usable. I’m cranking out several hundred frames a day with it. Takes a bit of tweaking to get cycles optics for your usual stuff but once you’ve got it dialed in it will make a huge difference in render times and it’s well worth the time invested as it can cut your frame render times drastically, particularly if you take advantage of render layers. No sense in burning tons of render time applying hundreds or thousands of samples to a background object when 20 will do so breaking stuff up into render layers is well worth it for animations. When I started my per frame render times would typically be in the 10-12 minutes range and now they’re usually well under 3, even with the model having lots of reflections and diffractions, transparencies and volumetrics, etc.

Hope that helps…

1 Like

Oh and, @ Nathan:

When you hit the point where you’re ready for some external testing with RhinoCycles, I’d be happy to assist. I do Mac OSX app development myself (mostly control system related stuff), but think like a coder as a result, and spend a lot of time in rhino as of late, so it may be a good fit. Been watching your weekly’s with great interest. Nice stuff.

[quote=“LewnWorx, post:12, topic:18840, full:true”]
When you hit the point where you’re ready for some external testing with RhinoCycles, I’d be happy to assist. [/quote]

If you have a Rhino 5 license you should be able to find from the Serengeti forum the WIP build for Windows that has the RhinoCycles plug-in.

OS X will have to wait until necessary bits and pieces from RDK has been ported.


In Rhino, assign unique material names to objects that you want to deal with separately in Blender. The materials can all be basic white… just make sure they have unique names with no spaces… use underscores. Export from Rhino as obj making sure to include material definitions and swap the Rhino Z for the Y axis.

In Blender, select the imported obj which will be one mesh. Press Tab to enter edit mode, make sure all verts are selected by pressing A in edit mode if they are not already highlighted. Then press P and select “separate by material”. Tab out of edit mode and you’ll have the separate selections you need for material assignment and animation.

1 Like

Oh noes. That’s probably gonna be a while then. I don’t have winders anywhere, and from my understanding the port isn’t even on the horizon until well after the first release of the Mac version.

Hi guys … any news in development about bongo ( or another name) animation plugin for rhino for mac?


No news

animation support for Rhino Mac is a must!!!