Problem with solid difference

i have a big box A (1 brep)
and several small breps B (3d-forms as single breps, not connected to each other and all inside A).

i would like to get the negative space (box with substracted volumes inside)
by using solid difference.

but i get 1 brep which is exactly the original big box.

is there a trick for this?



My guess is the green blob is not a “Closed polysurface” and it’s surface normals are flipped.
The curve of intersection between them might be incomplete too.

Without the 3dm file, these are all just guesses.

Well if it’s giving you that result your inside shapes are probably not closed.

However, the bigger issue is that with Rhino one object entirely inside another is not a valid “legal” solid. There are ways around this but it depends on what you’re trying to this for, these two objects sitting inside each other are for most purpose the same thing as a disjoint solid, it’s not like solids are actually ‘filled,’ it’s just faces that form skins with their normals pointing a certain way. So depending on your end goal here you can maybe use NonManifoldMerge, or just proceed without doing anything and in the end it’ll be fine, or…etc.

hi john & jim,
thanx for your analysis, which brought me a step further.

when the blobs are not completely enclosed by the box, then the intersection works:

grasshopper-geometry-preview in rhino:


result in 3d: