PartDesign: fix helix with negative angle

This commit is contained in:
Florian Foinant-Willig
2024-12-03 22:31:16 +01:00
committed by Chris Hennes
parent d1f706050d
commit c4528eb3a5
2 changed files with 45 additions and 2 deletions

View File

@@ -408,8 +408,7 @@ TopoDS_Shape Helix::generateHelixPath(double breakAtTurn)
bool turned = axisOffset < 0;
// since the factor does not only change the radius but also the path position, we must shift its offset back
// using the square of the factor
double noAngle = angle == 0. ? 1. : 0.; // alternative to the legacy use of an auxiliary path
double startOffset = 10000.0 * std::fabs(noAngle * (profileCenter * axisVector) - baseVector * axisVector);
double startOffset = 10000.0 * std::fabs((angle <= 0. ? 1. : 0.) * (profileCenter * axisVector) - baseVector * axisVector);
if (radius < Precision::Confusion()) {
// in this case ensure that axis is not in the sketch plane