0
$\begingroup$

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

$\endgroup$
3
  • 1
    $\begingroup$ Generate metaballs for each sphere (with python), they join into single shape. $\endgroup$ Commented Mar 11, 2019 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$ Commented Mar 11, 2019 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
    Commented Mar 12, 2019 at 9:30

1 Answer 1

3
$\begingroup$

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.

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .