Boolean difference again

I have to make boolean difference of two objects, where one is totally inside of the other. The reason is I would like to use it in a multicolor 3d print where the enclosure is transparent. I know the boolean difference is sensitive to the tolerance setting of the Rhino file. So I have tried it with 0.1 , 0.01 , 0.001 and 0.0001 tolerance settings. Any ide what else can I do?

diifrence.gh (47.7 KB)

You can’t do that.

On rhino “solids” are meant as “many surfaces joined together”, a “closed polysurface”.
If your internal volume doesn’t connect with the external, it is not going to work.
You can either use a very thin pipe to join the outside shell with the inside one…
or do like Pascal’s answer here:

Convert your shapes to mesh, flip the normals of the inner one, and join the meshes into a single mesh object.

Yes I am will create two STL files. I am using Canvas Palette.

A tiny hole can be used to connect inside and outside surface.

difference.gh (55.6 KB)

another trick I use frequently: when you do the slicing of your STL file, intersection of different solids is usually interpreted as standard solid

this means that you can do something like this, splitting your outer shape into two (or more) intersecting solids, and doing the boolean difference of each of them with the part to be subtracted, something like this:

if you feed your slicing software with the “Print” version in the above image it will see two solids intersecting, and after slicing it that will result in A - B

a note: depending on which slicing software / slicing settings you are using, A’ intersecting A’’ could be not necessary, it could be enough if they are just sharing surface boundaries… but to stay on the safe side I almost always make them intersect a little bit (here in the picture the intersection A’ A’’ is exagerated just to give the idea)

1 Like

thank you all!

Of course you can:

Brep_hollow_ops_Intro_V1.gh (130.7 KB)

BTW: have in mind that Rhino is a surface modeller [meaning the obvious].

2 Likes

Ok . I understand that one object should not be totally inside the other one. But I still cannot make boolean difference when one is coming out on both sides. What is the problem here???
bool2.gh (50.0 KB)

In addition to SDiff, both SUnion and SInt (Solid Intersection) also fail using those two breps, for no obvious reason. Likely that one or both are a “bad brep”?

Works for me once you do a proper brep.
Your cutting brep has 3 duplicated faces:

Probably you create a list of curves, offsetted them and accidentally copied before extrusion.