On 01/08/2015 at 08:53, xxxxxxxx wrote:
another primitive example, select object and execute script:
import c4d
from c4d import gui
GROUP_ID1=1000
BUTTON1=1001
VX=1002
VY=1003
VZ=1004
ST=1005
class Test_Dlg(gui.GeDialog) :
def addvector(self) :
doc = c4d.documents.GetActiveDocument()
op = doc.GetActiveObject()
if not op: return False
doc.StartUndo()
doc.AddUndo(c4d.UNDOTYPE_CHANGE, op)
op.SetAbsPos(c4d.Vector(self.GetFloat(VX),self.GetFloat(VY),self.GetFloat(VZ)))
doc.EndUndo()
c4d.SendCoreMessage(c4d.COREMSG_CINEMA, c4d.BaseContainer(c4d.COREMSG_CINEMA_FORCE_AM_UPDATE))
return True
def CreateLayout(self) :
#creat the layout of the dialog
self.GroupBegin(GROUP_ID1, c4d.BFH_SCALEFIT, 4, 1)
self.AddStaticText(ST, c4d.BFH_SCALE, name="Value of vector data:")
self.AddEditNumberArrows(VX, c4d.BFH_SCALE)
self.AddEditNumberArrows(VY, c4d.BFH_SCALE)
self.AddEditNumberArrows(VZ, c4d.BFH_SCALE)
self.GroupEnd()
self.GroupBegin(GROUP_ID1, c4d.BFH_SCALEFIT, 2, 1)
self.AddButton(BUTTON1, c4d.BFH_SCALE, name="Apply")
self.GroupEnd()
return True
def InitValues(self) :
#initiate the gadgets with values
self.SetTitle('Add vector')
return True
def Command(self, id, msg) :
#handle user input
if id==BUTTON1:
self.addvector()
c4d.DrawViews(c4d.DA_ONLY_ACTIVE_VIEW|c4d.DA_NO_THREAD|c4d.DA_NO_ANIMATION)
self.Close()
return True
dlg = Test_Dlg()
dlg.Open(c4d.DLG_TYPE_MODAL, xpos=600, ypos=350, defaultw=400, defaulth=100)