Performance issues with many objects/large files

Hello,

I already asked the support but we couldn’t improve the performance from rhino. Maybe you guys know a sulution for my problem. Im creating a pattern with around 12.000 spheres. With that many objects rhinos performance gets really bad. I can’t boolean difference all objects at once and even 2000 at once takes minutes. Selecting the objects gets laggy and saving takes over 10 minutes.

Is there a way to improve my workflow or any settings to get better performance? Working this way is very annoying and takes forever. Thanks in Advance.

Best regards,

Jan

i

I cant upload the file because its to large but a screenshot could help

Try to block like 100 spheres together and use that to repeat

That is going to be a challenge with the complexity of the single object that spans all the spheres.

For such a structure I might recommend:

  1. Create a tile that include 1-4 spheres and a small section of the large surface. Then array the resulting tile to get the size of the fina object needed.
  2. For highly complex Boolean structures, the plugin Isopod is able to do this quickly and have the results that are 3dprintable: Isopod - implicit surface tools

Those are the best two strategies I have seen work for these types of models.

are you doing dimples or holes?

1 Like

Im doing holes. And even after the boolean difference the performance doesnt improve

Thank you. I will check out the plugin. Does that improve the performance after the boolean difference?

Hi @Jan_Rücker
What is the end goal? Are NURBS really needed or could it be a mesh solution… or even displacement mapping? If this is not for production/tooling, but “merely” for visualization or 3D print, I’d go for meshes instead.
-Jakob

Hey @Normand.

The end goal is for production/tooling but on a DLP-Printer. I created a different pattern which I can’t show here and its used for a lithophane. The pattern doesn’t even matter that much, more how i can improve the performance.

Hi @Jan_Rücker
OK - I’ve been there (eg. years ago working on a perforated door for an industrial CPU unit), so I feel your pain :grimacing: There’s no easy solution, I’m afraid. My experience is that it’s easier to work with curves as long as you can, and when you have to go 3D, don’t use booleans. Instead opt for a single face with the holes cut out by trimming and then array/copy a single dimple to the fit the holes. Joining will take time, but it’s do-able and can be done in stages. Be sure to stay in wireframe while joining things up, so you don’t waste time for the render mesh to be created. When it’s time to shade the thing, it might be an idea to create a (coarse) custom render mesh setting for the object, to keep things “light”. It’s also an idea to create a (light weight) meshed version for display, keeping the NURBS version hidden until you actually need, eg. when exporting downstream - but remember to turn off mesh wires for the display mode(s).
HTH, Jakob

Hey @Normand

thank you for your help. I’ll try that out.

I was wondering if i did something wrong and im always open to improve, but good too hear that professionals also have the same problem and i can’t do much about it

I also stay in only one viewport. That also helps a little.

Best regards,

Jan

Sure, the Isopod process will improve performance. Technically it will avoid meshing to the very end of the process, this is one reason it is fast.

The difference and then array might be faster in display, or it might not. At some point there is a limit that the video card will be able to display. And there is a limit to how many parts can be in the polysurface. Turning down the Mesh setting for a display can also help a lot.

But, there are also limits to what the computer can handle also.