Code: Select all
basepoint=None
def pointHandler(val,point):
global basepoint
global mw
if val==0:
basepoint=point
else:
dx=point.x-basepoint.x
dy=point.y-basepoint.y
dz=point.z-basepoint.z
print "dx=\n",dx
print "dy=\n",dy
print "dz=\n",dz
class pointSnapper:
def __init__(self,val,p=None):
self.point = None
self.val=val
FreeCADGui.Snapper.getPoint(last=p,callback=self.clicked)
self.call = self.view.addEventCallback("SoEvent",self.action)
def clicked(self,point,extra):
self.point = point
if self.val==1:
pointHandler(0,point)
pointSnapper(2,point)
else:
pointHandler(1,point)
def action(self,arg):
if arg["Type"] == "SoKeyboardEvent":
if arg["Key"] == "ESCAPE":
self.finish()
print arg["Key"]
s = pointSnapper(1)
The code above doesn't print out the arg["Key"]