From 78b3113b359f8d52b12556fa948ade1b07be33b9 Mon Sep 17 00:00:00 2001 From: Yorik van Havre Date: Mon, 16 Jan 2012 19:19:51 -0200 Subject: [PATCH] fixed bug #544 - allow to make Draft ortho dimensions with shift --- src/Mod/Draft/DraftTools.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/Mod/Draft/DraftTools.py b/src/Mod/Draft/DraftTools.py index a416b7d62..312e8e59f 100644 --- a/src/Mod/Draft/DraftTools.py +++ b/src/Mod/Draft/DraftTools.py @@ -1367,6 +1367,7 @@ class Dimension(Creator): self.center = None self.arcmode = False self.point2 = None + self.force = None self.constraintrack = lineTracker(dotted=True) msg(translate("draft", "Pick first point:\n")) FreeCADGui.draftToolBar.show() @@ -1501,15 +1502,21 @@ class Dimension(Creator): self.point2 = self.node[1] else: self.node[1] = self.point2 - a=abs(point.sub(self.node[0]).getAngle(plane.u)) - if (a > math.pi/4) and (a <= 0.75*math.pi): + if not self.force: + a=abs(point.sub(self.node[0]).getAngle(plane.u)) + if (a > math.pi/4) and (a <= 0.75*math.pi): + self.force = 1 + else: + self.force = 2 + if self.force == 1: self.node[1] = Vector(self.node[0].x,self.node[1].y,self.node[0].z) - else: + elif self.force == 2: self.node[1] = Vector(self.node[1].x,self.node[0].y,self.node[0].z) self.constraintrack.p1(point) self.constraintrack.p2(ctrlPoint) self.constraintrack.on() else: + self.force = None if self.point2: self.node[1] = self.point2 self.point2 = None