0

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:

Molecule

Mir Henglin
  • 131
  • 4
  • 1
    Generate metaballs for each sphere (with python), they join into single shape. – Jaroslav Jerryno Novotny Mar 11 '19 at 22:36
  • 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? – Mir Henglin Mar 11 '19 at 22:53
  • 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 https://blender.stackexchange.com/questions/92271/flattening-the-intersection-of-overlapping-spheres ? – batFINGER Mar 12 '19 at 09:30

1 Answers1

3

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.

Mir Henglin
  • 131
  • 4