From b84782e07f56b8b9b0e3c54a872ce685d487b018 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Fri, 3 Mar 2023 14:32:02 +0100 Subject: [PATCH] #2810 catch bad positioning warning and empty result --- src/ifcgeom_schema_agnostic/boolean_utils.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/ifcgeom_schema_agnostic/boolean_utils.cpp b/src/ifcgeom_schema_agnostic/boolean_utils.cpp index fa77e7479a..8d93436a5c 100644 --- a/src/ifcgeom_schema_agnostic/boolean_utils.cpp +++ b/src/ifcgeom_schema_agnostic/boolean_utils.cpp @@ -1074,6 +1074,9 @@ bool IfcGeom::util::boolean_operation(const boolean_settings& settings, const To if (builder->DSFiller()->HasWarning(STANDARD_TYPE(BOPAlgo_AlertAcquiredSelfIntersection))) { Logger::Notice("Builder reports self-intersection in output"); success = false; + } else if(builder->DSFiller()->HasWarning(STANDARD_TYPE(BOPAlgo_AlertBadPositioning)) && !TopoDS_Iterator(*builder).More()) { + Logger::Notice("Builder reports bad positioning and result is empty"); + success = false; } else { TopoDS_Shape r = *builder;