From 9de9645229299af60009f31311d6527ed6102e5c Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Fri, 13 Jan 2023 13:56:38 +0100 Subject: [PATCH] #2665 increase halfspace tolerance comparison --- src/ifcgeom/IfcBooleanResult.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/ifcgeom/IfcBooleanResult.cpp b/src/ifcgeom/IfcBooleanResult.cpp index 76cb4f961a..94eccfeec0 100644 --- a/src/ifcgeom/IfcBooleanResult.cpp +++ b/src/ifcgeom/IfcBooleanResult.cpp @@ -136,7 +136,9 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcBooleanResult* l, TopoDS_Shape TopoDS_Shape temp; double d; if (util::fit_halfspace(s1, s2, temp, d, getValue(GV_PRECISION))) { - if (d < getValue(GV_PRECISION)) { + // #2665 we also set a precision-independent treshold, because in the boolean op routine + // the working fuzziness might still be increased. + if (d < getValue(GV_PRECISION) * 20. || d < 0.00002) { Logger::Message(Logger::LOG_WARNING, "Halfspace subtraction yields unchanged volume:", l); continue; } else {