From bf3a1fdaa879dedf065a42d004e4bd366ac0dea8 Mon Sep 17 00:00:00 2001 From: wandererfan Date: Fri, 7 Dec 2018 21:11:11 -0500 Subject: [PATCH] Test for binormal == Z sb binormal parallel Z --- src/Mod/Draft/Draft.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Mod/Draft/Draft.py b/src/Mod/Draft/Draft.py index fa18fdcd34..b433b94711 100644 --- a/src/Mod/Draft/Draft.py +++ b/src/Mod/Draft/Draft.py @@ -6125,11 +6125,11 @@ class _PathArray(_DraftObject): theta = 0.0 phi = 0.0 FreeCAD.Console.PrintWarning("Draft PathArray.orientShape - Path normal is Null. Cannot align.\n") - elif b == z: # 2) binormal is same as z - psi = math.degrees(DraftVecUtils.angle(x,t,z)) # align shape x to tangent + elif abs(b.dot(z)) == 1.0: # 2) binormal is || z + psi = math.degrees(DraftVecUtils.angle(x,t,z)) # align shape to tangent only theta = 0.0 phi = 0.0 - FreeCAD.Console.PrintLog ("Draft PathArray.orientShape - Aligned to tangent only (b == z).\n") + FreeCAD.Console.PrintWarning("Draft PathArray.orientShape - Gimbal lock. Infinite lnodes. Change Path or Base.\n") else: # regular case psi = math.degrees(DraftVecUtils.angle(x,lnodes,z)) theta = math.degrees(DraftVecUtils.angle(z,b,lnodes))