Solid difference--One solid(A) is inside another solid(B)

Hi All
I also meet a question about “Solid Difference”…
If one one solid(A) is inside another solid(B), “Solid Difference” doesn’t work.


Solid Difference.gh (531 Bytes)

Any solutions?
Thanks in advance.

Similar problem

I remembered this has been discussed before in the above thread

Thanks.
There seems to be no solution.

It may be possible to write a python module to do this. RhinoCommon contains the MergeBreps method which will create the non-manifold brep. You’d have to track down, or ask the developers, about the “create regions” part of the process though - I haven’t sussed that bit out.

1 Like

Ah… I think it’s impossible. I tried this…
BrepOnion.gh (9.9 KB)
which makes half a big cube, boolean diff the smaller inner cube, mirror result, Union the results, merge faces.

The Union cannot create a Brep with a void in the middle.

There’s an explanation for this but I can’t remember. Perhaps one of the McNeel guys can explain?

Can you work in Meshes instead?