THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 23/05/2012 at 10:17, xxxxxxxx wrote:
Dear Cinema4D Developers,
I am having a hard time trying to run the script shown below. The problem is that these two commands are not working at all and I do not know what I am doing wrong:
CreateKey(bend,ID_DEFORMOBJECTSTRENGTH,value=0.7854,frame=0)
CreateKey(bend,ID_DEFORMOBJECTSIZE_X,value=400,frame=0)
Could you help me please?
Thank you very much!
Ricardo.
import c4d
from c4d import gui
def CreateKey(op, id, value, frame) :
if not op.GetDocument() : raise Exception, "object must be in a document"
#first check if the track type already exists, otherwise create it
track=op.FindCTrack(id)
if not track:
track=c4d.CTrack(op,id)
op.InsertTrackSorted(track)
curve=track.GetCurve()
key=curve.AddKey(c4d.BaseTime(frame,doc.GetFps()))
key["key"].SetValue(curve,value)
def main() :
fps=30
frame=90
doc.SetMaxTime(c4d.BaseTime(frame,fps))
doc.SetTime(c4d.BaseTime(frame,fps))
# Materials:
mat=c4d.BaseMaterial(c4d.Mmaterial)
doc.InsertMaterial(mat)
# Textures:
mtag=c4d.TextureTag() # Create a new texture tag...
mtag.SetMaterial(mat) # Link it to our new material...
# Cubes:
cube=c4d.BaseObject(c4d.Ocube)
cube.SetName("MyCube")
cube.InsertTag(mtag)
doc.InsertObject(cube)
# Deformers:
bend=c4d.BaseObject(c4d.Obend)
bend.SetName("MyBend")
doc.InsertObject(bend,cube) # Add it to the Object Manager as a child of the cube...
# ID DEFINITIONS
ID_PRIMCUBESUBX=c4d.DescID(c4d.DescLevel(c4d.PRIM_CUBE_SUBX,c4d.DTYPE_LONG,c4d.Ocube))
ID_PRIMCUBESUBY=c4d.DescID(c4d.DescLevel(c4d.PRIM_CUBE_SUBY,c4d.DTYPE_LONG,c4d.Ocube))
ID_PRIMCUBESUBZ=c4d.DescID(c4d.DescLevel(c4d.PRIM_CUBE_SUBZ,c4d.DTYPE_LONG,c4d.Ocube))
ID_PRIMCUBELEN_X=c4d.DescID(c4d.DescLevel(c4d.PRIM_CUBE_LEN,c4d.DTYPE_VECTOR,0),c4d.DescLevel(c4d.VECTOR_X,c4d.DTYPE_REAL,0))
ID_PRIMCUBELEN_Y=c4d.DescID(c4d.DescLevel(c4d.PRIM_CUBE_LEN,c4d.DTYPE_VECTOR,0),c4d.DescLevel(c4d.VECTOR_Y,c4d.DTYPE_REAL,0))
ID_PRIMCUBELEN_Z=c4d.DescID(c4d.DescLevel(c4d.PRIM_CUBE_LEN,c4d.DTYPE_VECTOR,0),c4d.DescLevel(c4d.VECTOR_Z,c4d.DTYPE_REAL,0))
ID_IDBASEOBJECTRELPOSITION_X=c4d.DescID(c4d.DescLevel(c4d.ID_BASEOBJECT_REL_POSITION,c4d.DTYPE_VECTOR,0),c4d.DescLevel(c4d.VECTOR_X,c4d.DTYPE_REAL,0))
ID_IDBASEOBJECTRELPOSITION_Y=c4d.DescID(c4d.DescLevel(c4d.ID_BASEOBJECT_REL_POSITION,c4d.DTYPE_VECTOR,0),c4d.DescLevel(c4d.VECTOR_Y,c4d.DTYPE_REAL,0))
ID_IDBASEOBJECTRELPOSITION_Z=c4d.DescID(c4d.DescLevel(c4d.ID_BASEOBJECT_REL_POSITION,c4d.DTYPE_VECTOR,0),c4d.DescLevel(c4d.VECTOR_Z,c4d.DTYPE_REAL,0))
ID_DEFORMOBJECTSTRENGTH=c4d.DescID(c4d.DescLevel(c4d.DEFORMOBJECT_STRENGTH,c4d.DTYPE_REAL,c4d.Obend))
ID_DEFORMOBJECTSIZE_X=c4d.DescID(c4d.DescLevel(c4d.DEFORMOBJECT_SIZE,c4d.DTYPE_VECTOR,0),c4d.DescLevel(c4d.VECTOR_X,c4d.DTYPE_REAL,0))
ID_DEFORMOBJECTSIZE_Y=c4d.DescID(c4d.DescLevel(c4d.DEFORMOBJECT_SIZE,c4d.DTYPE_VECTOR,0),c4d.DescLevel(c4d.VECTOR_Y,c4d.DTYPE_REAL,0))
ID_DEFORMOBJECTSIZE_Z=c4d.DescID(c4d.DescLevel(c4d.DEFORMOBJECT_SIZE,c4d.DTYPE_VECTOR,0),c4d.DescLevel(c4d.VECTOR_Z,c4d.DTYPE_REAL,0))
doc.SetActiveObject(cube) # the record command needs an active object
cube.Message(c4d.MSG_UPDATE)
CreateKey(cube,ID_PRIMCUBESUBZ,value=1,frame=0)
CreateKey(cube,ID_PRIMCUBESUBZ,value=15,frame=10)
CreateKey(cube,ID_PRIMCUBELEN_X,value=100,frame=0)
CreateKey(cube,ID_PRIMCUBELEN_X,value=500,frame=40)
CreateKey(cube,ID_IDBASEOBJECTRELPOSITION_X,value=105.0,frame=0)
CreateKey(cube,ID_IDBASEOBJECTRELPOSITION_X,value=50.0,frame=10)
doc.SetActiveObject(bend) # the record command needs an active object
bend.Message(c4d.MSG_UPDATE)
CreateKey(bend,ID_IDBASEOBJECTRELPOSITION_X,value=200,frame=0)
CreateKey(bend,ID_IDBASEOBJECTRELPOSITION_X,value=700,frame=20)
**CreateKey(bend,ID_DEFORMOBJECTSTRENGTH,value=0.7854,frame=0)**
** CreateKey(bend,ID_DEFORMOBJECTSIZE_X,value=400,frame=0)**
c4d.EventAdd()
if __name__=='__main__':
main()