I have a WRL model generated by a chemistry visualization program. In consists of many overlapping spheres. I would like to remove the parts of the spheres that are internal to other spheres.

A workflow to do this has already been proposed here:

How can I merge these two spherical objects into a single smooth mesh?

However, the models I am working with has almost 5000 spheres. Replicating the above workflow at that scale would be infeasible. I was wondering if it would be possible to do this automatically

Model here for reference:


  • 1
    $\begingroup$ Generate metaballs for each sphere (with python), they join into single shape. $\endgroup$ – Jaroslav Jerryno Novotny Mar 11 '19 at 22:36
  • $\begingroup$ A programmatic solution was one that I was considering, but the blender API seems a bit daunting. Would it be possible to provide an outline of the metaball workflow? $\endgroup$ – Mir Henglin Mar 11 '19 at 22:53
  • $\begingroup$ To clarify, what does your mesh look like, are sphere objects globally located with origin at centre? In which case adding a metaball in their place would be simple. A method similar to blender.stackexchange.com/questions/92271/… ? $\endgroup$ – batFINGER Mar 12 '19 at 9:30

In the end, I didn't end up going with a blender solution at all. I tried to implement the solution @batFINGER suggested, but my model wasn't properly formatted; the spheres in my model were not separate objects. When I tried to separate all the spheres into separate shells, blender crashed on me.

What did work for me was to load my object into Meshmixer and using Edit > Make Solid. Doing this created a solid object, filling in the entire shape. Using 'Preserve sharp edges' mode and maximizing 'Solid Accuracy' and 'Mesh Density' prevented too much detail from being lost. After this, I used Edit > Hollow. The final result was a shell containing only the visible surfaces of the overlapping spheres.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.