Bugfixes in Draft Snap
This commit is contained in:
parent
26602b2aa3
commit
1af6a3c2b1
|
@ -100,7 +100,7 @@ class _CommandWall:
|
||||||
self.tracker = DraftTrackers.boxTracker()
|
self.tracker = DraftTrackers.boxTracker()
|
||||||
FreeCADGui.Snapper.getPoint(callback=self.getPoint)
|
FreeCADGui.Snapper.getPoint(callback=self.getPoint)
|
||||||
|
|
||||||
def getPoint(self,point,obj):
|
def getPoint(self,point=None,obj=None):
|
||||||
"this function is called by the snapper when it has a 3D point"
|
"this function is called by the snapper when it has a 3D point"
|
||||||
if obj:
|
if obj:
|
||||||
if Draft.getType(obj) == "Wall":
|
if Draft.getType(obj) == "Wall":
|
||||||
|
|
|
@ -852,24 +852,24 @@ class DraftToolBar:
|
||||||
except ValueError:
|
except ValueError:
|
||||||
pass
|
pass
|
||||||
else:
|
else:
|
||||||
if self.isRelative.isVisible() and self.isRelative.isChecked():
|
|
||||||
if self.sourceCmd.node:
|
|
||||||
if self.sourceCmd.featureName == "Rectangle":
|
|
||||||
last = self.sourceCmd.node[0]
|
|
||||||
else:
|
|
||||||
last = self.sourceCmd.node[-1]
|
|
||||||
numx = last.x + numx
|
|
||||||
numy = last.y + numy
|
|
||||||
numz = last.z + numz
|
|
||||||
if FreeCAD.DraftWorkingPlane:
|
|
||||||
v = FreeCAD.Vector(numx,numy,numz)
|
|
||||||
v = FreeCAD.DraftWorkingPlane.getGlobalCoords(v)
|
|
||||||
numx = v.x
|
|
||||||
numy = v.y
|
|
||||||
numz = v.z
|
|
||||||
if self.pointcallback:
|
if self.pointcallback:
|
||||||
self.pointcallback(FreeCAD.Vector(numx,numy,numz),self.isRelative.isChecked())
|
self.pointcallback(FreeCAD.Vector(numx,numy,numz),(self.isRelative.isVisible() and self.isRelative.isChecked()))
|
||||||
else:
|
else:
|
||||||
|
if self.isRelative.isVisible() and self.isRelative.isChecked():
|
||||||
|
if self.sourceCmd.node:
|
||||||
|
if self.sourceCmd.featureName == "Rectangle":
|
||||||
|
last = self.sourceCmd.node[0]
|
||||||
|
else:
|
||||||
|
last = self.sourceCmd.node[-1]
|
||||||
|
numx = last.x + numx
|
||||||
|
numy = last.y + numy
|
||||||
|
numz = last.z + numz
|
||||||
|
if FreeCAD.DraftWorkingPlane:
|
||||||
|
v = FreeCAD.Vector(numx,numy,numz)
|
||||||
|
v = FreeCAD.DraftWorkingPlane.getGlobalCoords(v)
|
||||||
|
numx = v.x
|
||||||
|
numy = v.y
|
||||||
|
numz = v.z
|
||||||
self.sourceCmd.numericInput(numx,numy,numz)
|
self.sourceCmd.numericInput(numx,numy,numz)
|
||||||
|
|
||||||
def finish(self):
|
def finish(self):
|
||||||
|
|
|
@ -678,7 +678,8 @@ class Snapper:
|
||||||
def getcoords(point,relative=False):
|
def getcoords(point,relative=False):
|
||||||
self.pt = point
|
self.pt = point
|
||||||
if relative and last:
|
if relative and last:
|
||||||
self.pt = last.add(point)
|
v = FreeCAD.DraftWorkingPlane.getGlobalCoords(point)
|
||||||
|
self.pt = last.add(v)
|
||||||
accept()
|
accept()
|
||||||
|
|
||||||
def click(event_cb):
|
def click(event_cb):
|
||||||
|
|
Loading…
Reference in New Issue
Block a user