Does Rhino 5.0 support multithreads for meshing

Dear all, I am just download Rhino 5.0, will going to buy it several months later for projects, and now I am doing some preparing work about using it. One thing is meshing. We are going to mesh quite a lot of buildings in a area, may I know is there any way to use multithreading to speed it, by commands or by programming using Rhino API?
Thanks. Chris

No … If need it, than I use MoI3D for meshing - clean meshes, multi core support, very fast.

I don’t believe that is exactly true. You could use multiple threads if meshing through the programming api.

What isn’t exactly true? What means “You could use multiple threads if meshing through the programming api.” for me as user?

I could use 32 threads here, but Rhino since Rhino doesn’t use multicore the CPU usage is nearly invisible at the task manger graph. I wished Rhino could multi cores for multi objects at the scene at least.

Steve, if this is possible please add it as default feature :smile:


Thanks for all your replies.

Hi @stevebaer, excuse me for warming up this old but interesting thread, i´m trying to do exactly that but it looks like the RhinoCommon method:

Rhino.DocObjects.RhinoObject.GetRenderMeshes([rh_obj], True, False)

is not threadsave. If i run it in a worker set up using System.Threading.Tasks it crashed Rhino5. Apart from this, i´ve tried to use methods to individually mesh objects, using rh_obj.CreateMeshes() followed by rh_obj.GetMeshes() and tried to assign these meshes individually to brep faces, but even after committing, the doc objects needed meshing before shading was possible.

Using GetRenderMeshes defined above however works to mesh if i run without any threading, but the command line messages “Creating meshes… Press Esc to cancel” fired for every object did make it somewhat slower, even when the CommandPrompt is not shown…

Any thoughts which methods i could use instead apart from generating bounding boxes which prints the same messsages to the command line ?


I had asked about multi-threaded meshing, not so much for individual objects but I had asked if each core could grab an object for meshing after load or after a result.

Sometimes it’s the little hiccups that make walking less fun.