From d410d99f4a69cabe5bb5ab6cd3415b3b56299edc Mon Sep 17 00:00:00 2001 From: Yorik van Havre Date: Fri, 7 Apr 2017 16:03:35 -0300 Subject: [PATCH] Draft: Fixed buggy Trimex in non-XY planes --- src/Mod/Draft/DraftTools.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/Mod/Draft/DraftTools.py b/src/Mod/Draft/DraftTools.py index cd092cd538..dbe625fe8a 100644 --- a/src/Mod/Draft/DraftTools.py +++ b/src/Mod/Draft/DraftTools.py @@ -3239,10 +3239,15 @@ class Trimex(Modifier): # modifying active edge if DraftGeomUtils.geomType(edge) == "Line": - perp = DraftGeomUtils.vec(edge).cross(Vector(0,0,1)) + ve = DraftGeomUtils.vec(edge) chord = v1.sub(point) - proj = DraftVecUtils.project(chord,perp) - self.newpoint = Vector.add(point,proj) + n = ve.cross(chord) + if n.Length == 0: + self.newpoint = point + else: + perp = ve.cross(n) + proj = DraftVecUtils.project(chord,perp) + self.newpoint = Vector.add(point,proj) dist = v1.sub(self.newpoint).Length ghost.p1(self.newpoint) ghost.p2(v2)