From 39c902c6163ffde432d5ea9f25d4ea53a276cdad Mon Sep 17 00:00:00 2001 From: Florian Foinant-Willig Date: Fri, 25 Jul 2025 16:11:26 +0200 Subject: [PATCH] Try to auto-fix any invalid generated helix --- src/Mod/PartDesign/App/FeatureHelix.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/Mod/PartDesign/App/FeatureHelix.cpp b/src/Mod/PartDesign/App/FeatureHelix.cpp index 11bb0bc2b6..dee2162a93 100644 --- a/src/Mod/PartDesign/App/FeatureHelix.cpp +++ b/src/Mod/PartDesign/App/FeatureHelix.cpp @@ -36,6 +36,7 @@ # include # include # include +# include # include # include # include @@ -259,6 +260,13 @@ App::DocumentObjectExecReturn* Helix::execute() fix.LimitTolerance(result, Precision::Confusion() * size * Tolerance.getValue() ); // significant precision reduction due to helical approximation - needed to allow fusion to succeed + // try to auto-fix possible invalid result + ShapeFix_Solid fixer; + fixer.Init(TopoDS::Solid(result)); + if (fixer.Perform()) { + result = fixer.Solid(); + } + AddSubShape.setValue(result); if (base.isNull()) {