Toroid-w-hole.3dm (123.9 KB)
I created a washer that I will print, but after it was complete, I decided that I wanted to make it a little more compressible. I decided to revolve a circle to create a solid toroid and then subtract it from my washer using Boolean difference. I was surprised when it failed. I know that I can add a circle to a section and revolve it to achieve the desired result, but why can’t I just subtract the ‘donut’ ?
Boolean difference works with solids but you have surfaces, not solids, which is why it isn’t working for you.
You will also find that you cannot Boolean out a completely enclosed void within a solid (there are other posts that explain this).
To get a void anchored in your washer, create a solid comprising the bottom half only. Then mirror that to make the top half. punch a tiny hole through one half by subtracting a cylinder so that you link the inner curved surface to the outer, then union the top and bottom halves. The wall of the tiny hole will be enough to make the void work and shouldn’t impact the printing.
is not possible to use booleans if the surfaces are not intersected, having one solid inside another is not an intersection. you can use boolean in open surfaces if the intersections are closed curves btw.
anyway if it is only for printing just export as stl and the slicer normally recognizes the inner volume as hollow of the exterior part.
If you flip the normals on the inner mesh, the slicer should recognize that’s the ‘inner outside’ of the part, otherwise it would probably just see it as an overlapping mesh to be combined. Of course that’s not hugely necessary for 3D printing, you can just use the wall thickness and infill settings in the slicer.