while working on molds for hydrofoil wings I ran into repeated issues with boolean operation failures when cutting a wing loft out of a cube. I think much of it has to do with the fine shapes involved, especially near the trailing edge of the wing. So after pretty much exhausting my ideas on a 300x100mm wing, I tried to simply scale up the design. Amazingly, this made the boolean cut work! At 10x the size (3x1m), I was able to reliably cut the foil out of a solid block. Cuts with the foil partially immersed into the block (creating very sharp slices) still failed, but scaling everything up another 100x made those work as well.
I was a bit surprised that these precision effects would kick in at fairly typical workpiece sizes. Reading through the OpenCascade docs & the forum, I found some discussion of tolerances, but not so much on precision. I played a bit with the OpenScad WB "Increase tolerance" tool, but at first sight it seems to do the opposite of what I am looking for, which seems to be more about increasing the "signal / noise" ratio between numerical precision and feature size.
So now I am wondering if better boolean operation reliability could be achieved without the scale-up hack. https://opencascade.blogspot.com/2009/0 ... de_09.html mentions the Precision::Confusion default tolerance at 1e-7, and I see this referenced in quite a few places in the freecad codebase as well. This already seems fairly low. So is the issue here basic numerical precision, especially for more complex shapes like lofted splines?