[PD] Fix helix placement
This commit is contained in:
committed by
Yorik van Havre
parent
c36406c112
commit
05f7047c66
@@ -377,7 +377,8 @@ 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 startOffset = 10000.0 * std::fabs(baseVector * axisVector);
|
||||
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);
|
||||
|
||||
if (radius < Precision::Confusion()) {
|
||||
// in this case ensure that axis is not in the sketch plane
|
||||
|
||||
@@ -914,6 +914,7 @@ class TestTopologicalNamingProblem(unittest.TestCase):
|
||||
helix = self.Doc.addObject("PartDesign::SubtractiveHelix", "SubHelix")
|
||||
helix.Profile = sketch
|
||||
helix.ReferenceAxis = (self.Doc.getObject("Sketch"), ["V_Axis"])
|
||||
helix.Reversed = True
|
||||
body.addObject(sketch)
|
||||
body.addObject(helix)
|
||||
self.Doc.recompute()
|
||||
|
||||
Reference in New Issue
Block a user