Here you will find documentation on all the descriptions that Cinema 4D currently has. You can list them Alphabetically, by Type or Plugin . The sample Python and C++ code is automatically generated and in some cases may not be 100% correct. If something doesn't work then please refer to the official Cinema 4D SDK documentation for more information.

IDs and information for Tcawcycle

Tcawcycle

Attributes

  • ENGLISH NAME : CMotion
  • NAME : Tcawcycle
  • INCLUDE : Obase
  • PATH : ca/description/tcawcycle.res
  • PLUGIN : ca
  • MAXON online help (may not exist): TCAWCYCLE

Elements

ID UI Name Type Parameters Cycle
ID_CA_WCYCLE_TAG_EXPRESSION_PRIORITY Priority PRIORITY ANIM
ID_CA_WCYCLE_TAG_AUTOTIME AutoTime BOOL
ANIM OFF
SCALE_H
ID_CA_WCYCLE_TAG_START Start BASETIME
ANIM OFF
SCALE_H
ID_CA_WCYCLE_TAG_STOP Stop BASETIME
ANIM OFF
SCALE_H
ID_CA_WCYCLE_TAG_LOAD_PRESET LoadPreset... BUTTON  
ID_CA_WCYCLE_TAG_SAVE_PRESET SavePreset... BUTTON  
ID_CA_WCYCLE_TAG_WALK_TYPE Walk LONG
ANIM OFF
SCALE_H
ID_CA_WCYCLE_TAG_WALK_TYPE_STATIC Static
ID_CA_WCYCLE_TAG_WALK_TYPE_LINE Line
ID_CA_WCYCLE_TAG_WALK_TYPE_PATH Path
ID_CA_WCYCLE_TAG_WALK_MODE Mode LONG
ANIM OFF
SCALE_H
ID_CA_WCYCLE_TAG_WALK_MODE_INTERPOLATED Interpolated
ID_CA_WCYCLE_TAG_WALK_MODE_ADAPTIVE Adaptive
ID_CA_WCYCLE_TAG_STRIDE Stride REAL
UNIT METER
SCALE_H
MINSLIDER 0.0
MAXSLIDER 1000.0
CUSTOMGUI REALSLIDER
ID_CA_WCYCLE_TAG_STRIDE_TIME Time BASETIME SCALE_H
ID_CA_WCYCLE_TAG_DIRECTION Direction REAL
ANIM OFF
UNIT DEGREE
SCALE_H
MINSLIDER -180.0
MAXSLIDER 180.0
CUSTOMGUI REALSLIDER
ID_CA_WCYCLE_TAG_GRADIENT Gradient REAL
ANIM OFF
UNIT DEGREE
SCALE_H
MIN -180.0
MAX 180.0
CUSTOMGUI REALSLIDER
ID_CA_WCYCLE_TAG_PATH Path LINK  
ID_CA_WCYCLE_TAG_ACTIONS Action LONG
SCALE_H
ANIM OFF
ID_CA_WCYCLE_TAG_ACTION_ADD Add BUTTON SCALE_H
ID_CA_WCYCLE_TAG_OBJECTS ITEMTREE
DRAGDROP
COLUMNS 2
ROWS 12
MAXROWS 25
HEADERS
ICON
MULTIPLE
ID_CA_WCYCLE_TAG_TARGET_PLACEMENT Placement LONG SCALE_H
ID_CA_WCYCLE_TAG_TARGET_PLACEMENT_DEFAULT Pose
ID_CA_WCYCLE_TAG_TARGET_PLACEMENT_LINE Line
ID_CA_WCYCLE_TAG_TARGET_PLACEMENT_SPACED Spaced
ID_CA_WCYCLE_TAG_TARGET_PLACEMENT_SPACE Spacing REAL
SCALE_H
UNIT METER
MINSLIDER 0.0
MAXSLIDER 100.0
CUSTOMGUI REALSLIDER
ID_CA_WCYCLE_TAG_FOLLOW Follow BOOL ANIM
ID_CA_WCYCLE_TAG_HUB_TARGETTING Alignment REAL
UNIT PERCENT
MIN 0.0
MAX 100.0
CUSTOMGUI REALSLIDER
SCALE_H
ID_CA_WCYCLE_TAG_BANK Bank BOOL ANIM
ID_CA_WCYCLE_TAG_HUB_RETARGET Bias LONG SCALE_H
ID_CA_WCYCLE_TAG_HUB_RETARGET_NONE None
ID_CA_WCYCLE_TAG_HUB_RETARGET_VERT Vertical
ID_CA_WCYCLE_TAG_HUB_RETARGET_CENTER Center
ID_CA_WCYCLE_TAG_HUB_RETARGET_WEIGHTED Weighted
ID_CA_WCYCLE_TAG_HUB_ROOT_TYPE Base LONG  
ID_CA_WCYCLE_TAG_HUB_ROOT_TYPE_MAIN CMotion
ID_CA_WCYCLE_TAG_HUB_ROOT_TYPE_WORLD World
ID_CA_WCYCLE_TAG_HUB_ROOT_TYPE_OBJECT Object
ID_CA_WCYCLE_TAG_HUB_ROOT Object LINK  
ID_CA_WCYCLE_TAG_HUB_ROOT_AUTO AutoFloor BOOL  
ID_CA_WCYCLE_TAG_HUB_ROOT_OFFSET BaseOffset REAL
UNIT METER
MINSLIDER -100.0
MAXSLIDER 100.0
CUSTOMGUI REALSLIDER
ID_CA_WCYCLE_TAG_WALK_AXIS Forward LONG  
ID_CA_WCYCLE_TAG_AXIS_X X
ID_CA_WCYCLE_TAG_AXIS_Y Y
ID_CA_WCYCLE_TAG_AXIS_Z Z
ID_CA_WCYCLE_TAG_AXIS_NX -X
ID_CA_WCYCLE_TAG_AXIS_NY -Y
ID_CA_WCYCLE_TAG_AXIS_NZ -Z
ID_CA_WCYCLE_TAG_VERT_AXIS Vertical LONG  
ID_CA_WCYCLE_TAG_AXIS_X X
ID_CA_WCYCLE_TAG_AXIS_Y Y
ID_CA_WCYCLE_TAG_AXIS_Z Z
ID_CA_WCYCLE_TAG_AXIS_NX -X
ID_CA_WCYCLE_TAG_AXIS_NY -Y
ID_CA_WCYCLE_TAG_AXIS_NZ -Z
ID_CA_WCYCLE_STORE_RESTPOSE StoreRestPose BUTTON  
ID_CA_WCYCLE_RESTORE_RESTPOSE RestoreRestPose BUTTON  
ID_CA_WCYCLE_TAG_PREVIEW DisplayMotion BOOL  
ID_CA_WCYCLE_TAG_PATH_START Start REAL
UNIT PERCENT
MIN 0.0
MAX 100.0
CUSTOMGUI REALSLIDER
SCALE_H
ID_CA_WCYCLE_TAG_PATH_END End REAL
UNIT PERCENT
MIN 0.0
MAX 100.0
CUSTOMGUI REALSLIDER
SCALE_H
ID_CA_WCYCLE_TAG_AXIS_ALIGN_HUB AlignDirection BOOL SCALE_H
ID_CA_WCYCLE_TAG_ALIGN_AXIS Axis LONG SCALE_H
ID_CA_WCYCLE_TAG_AXIS_X X
ID_CA_WCYCLE_TAG_AXIS_Y Y
ID_CA_WCYCLE_TAG_AXIS_Z Z
ID_CA_WCYCLE_TAG_AXIS_NX -X
ID_CA_WCYCLE_TAG_AXIS_NY -Y
ID_CA_WCYCLE_TAG_AXIS_NZ -Z
ID_CA_WCYCLE_TAG_PATH_PROJECTION PathtoSurface BOOL SCALE_H
ID_CA_WCYCLE_TAG_SURFACE Surface LINK  
ID_CA_WCYCLE_TAG_SURFACE_OFFSET Offset REAL
UNIT METER
SCALE_H
MINSLIDER -100.0
MAXSLIDER 100.0
ID_CA_WCYCLE_TAG_SURFACE_PROJECTION Projection LONG SCALE_H
ID_CA_WCYCLE_TAG_SURFACE_PROJECTION_CLOSEST Closest
ID_CA_WCYCLE_TAG_SURFACE_PROJECTION_DOWN Down
ID_CA_WCYCLE_TAG_SURFACE_PROJECTION_TOPATH FromPath
ID_CA_WCYCLE_TAG_SURFACE_BASE Base LONG SCALE_H
ID_CA_WCYCLE_TAG_SURFACE_BASE_POINT Point
ID_CA_WCYCLE_TAG_SURFACE_BASE_RECT Rect
ID_CA_WCYCLE_TAG_SURFACE_BASE_OBJECT Object
ID_CA_WCYCLE_TAG_SURFACE_BASE_WIDTH Width REAL
UNIT METER
MIN 0.0
ID_CA_WCYCLE_TAG_SURFACE_BASE_LENGTH Length REAL
UNIT METER
MIN 0.0
ID_CA_WCYCLE_TAG_SURFACE_ALIGN_HUB AlignHubs BOOL SCALE_H
ID_CA_WCYCLE_TAG_SURFACE_ALIGN_TARGET AlignTargets BOOL SCALE_H
ID_CA_WCYCLE_TAG_LIMIT MinDistance BOOL SCALE_H
ID_CA_WCYCLE_TAG_LIMIT_DISTANCE Offset REAL
UNIT METER
MIN 0.0
MAXSLIDER 100.0
CUSTOMGUI REALSLIDER
ID_CA_WCYCLE_TAG_STEPS_TYPE Generate LONG ANIM
ID_CA_WCYCLE_TAG_STEPS_TYPE_STEPS Steps
ID_CA_WCYCLE_TAG_STEPS_TYPE_HUBS Hubs
ID_CA_WCYCLE_TAG_STEPS_TYPE_FULL Steps&Hubs
ID_CA_WCYCLE_STORE_AUTO_CREATESTEPS Steps LONG ANIM
ID_CA_WCYCLE_STORE_AUTO_CREATESTEPS_ALL All
ID_CA_WCYCLE_STORE_AUTO_CREATESTEPS_CURRENT Current
ID_CA_WCYCLE_STORE_AUTO_CREATESTEPS_CUSTOM Custom
ID_CA_WCYCLE_STORE_CREATESTEPS_NUMBER Count LONG
MIN 0
MAXSLIDER 1000
MAX 10000
CUSTOMGUI LONGSLIDER
ANIM OFF
ID_CA_WCYCLE_STORE_CREATESTEPS CreateSteps BUTTON  
ID_CA_WCYCLE_TAG_STEPS Steps LINK  
ID_CA_WCYCLE_TAG_STEPS_WEIGHT Weight REAL
UNIT PERCENT
MIN 0.0
MAX 100.0
CUSTOMGUI REALSLIDER
ID_CA_WCYCLE_TAG_ACTION_WEIGHT Strength REAL HIDDEN
ID_CA_WCYCLE_TAG_HUB Object LINK HIDDEN
ID_CA_WCYCLE_TAG_HUB_PHASE Phase REAL
HIDDEN
UNIT PERCENT
MIN -100.0
MAX 100.0
ID_CA_WCYCLE_TAG_HUB_AUTOOFFSET Auto BOOL HIDDEN
ID_CA_WCYCLE_TAG_HUB_OFFSET Pos REAL
HIDDEN
UNIT METER
MINSLIDER -100.0
MAXSLIDER 100.0
ID_CA_WCYCLE_TAG_HUB_VOFFSET Vert REAL
HIDDEN
UNIT METER
MINSLIDER -100.0
MAXSLIDER 100.0
ID_CA_WCYCLE_TAG_HUB_HOFFSET Horiz REAL
HIDDEN
UNIT METER
MINSLIDER -100.0
MAXSLIDER 100.0
ID_CA_WCYCLE_TAG_HUB_MOTIONS Action LONG HIDDEN
ID_CA_WCYCLE_TAG_ACTION_MIX Blend LONG
SCALE_H
HIDDEN
ID_CA_WCYCLE_TAG_ACTION_MIX_ABS Abs
ID_CA_WCYCLE_TAG_ACTION_MIX_ADD Add
ID_CA_WCYCLE_TAG_ACTION_MIX_SUB Sub
ID_CA_WCYCLE_TAG_ACTION_MIX_MULT Mult
ID_CA_WCYCLE_TAG_ACTION_MIX_WEIGHT Mix REAL
HIDDEN
UNIT PERCENT
MIN 0.0
MAX 100.0
ID_CA_WCYCLE_TAG_TARGET_WALK Driver LONG HIDDEN
ID_CA_WCYCLE_TAG_TARGET_WALK_NONE None
ID_CA_WCYCLE_TAG_TARGET_WALK_HUB Hub
ID_CA_WCYCLE_TAG_TARGET_WALK_PATH Path
ID_CA_WCYCLE_TAG_TARGET_WALK_STEPS Steps
ID_CA_WCYCLE_TAG_TARGET Object LINK HIDDEN
ID_CA_WCYCLE_TAG_TARGET_PHASE Phase REAL
HIDDEN
UNIT PERCENT
MIN -100.0
MAX 100.0
ID_CA_WCYCLE_TAG_TARGET_OFFSET Pos REAL
HIDDEN
UNIT METER
MINSLIDER -100.0
MAXSLIDER 100.0
ID_CA_WCYCLE_TAG_TARGET_VOFFSET Vert REAL
HIDDEN
UNIT METER
MINSLIDER -100.0
MAXSLIDER 100.0
ID_CA_WCYCLE_TAG_TARGET_HOFFSET Horiz REAL
HIDDEN
UNIT METER
MINSLIDER -100.0
MAXSLIDER 100.0
ID_CA_WCYCLE_TAG_ANALYSE AnalyseMotion BOOL  
ID_CA_WCYCLE_TAG_ANALYSIS_AUTO Auto BOOL  
ID_CA_WCYCLE_TAG_ANALYSIS_START Start BASETIME  
ID_CA_WCYCLE_TAG_ANALYSIS_END End BASETIME  
ID_CA_WCYCLE_TAG_ANALYSIS_CALC Calculate BUTTON  
ID_CA_WCYCLE_TAG_ANALYSIS_PATHTOSPLINE CreatePath BUTTON  
ID_CA_WCYCLE_TAG_ANALYSIS_FLOOR Floor REAL UNIT
ID_CA_WCYCLE_TAG_ANALYSIS_STRIDE Stride REAL UNIT
ID_CA_WCYCLE_TAG_ANALYSIS_TIME Time BASETIME  
ID_CA_WCYCLE_TAG_ANALYSIS_INPUT Input LINK  
ID_CA_WCYCLE_TAG_ANALYSIS_OUPUT Output LINK  
ID_CA_WCYCLE_TAG_ANALYSIS_OUPUT_STATIC Static BOOL  
ID_CA_WCYCLE_TAG_ANALYSIS_MOTION Motion LINK  
ID_CA_WCYCLE_TAG_ANALYSIS_CREATEMO CalcMotion BUTTON  

Example Code

The following code does not use the correct values when setting the data. You should check directly in C4D for the correct values that you should use in place of the ones that are shown. This code is just to show you how to access the values for getting and setting the parameters.

Python

import c4d
from c4d import gui
def main():
    obj = c4d.BaseObject(c4d.Tcawcycle)
    doc.InsertObject(obj)
    c4d.EventAdd(c4d.EVENT_FORCEREDRAW)
    
    #You can set parameters two different ways. 
    #First way              
    obj[c4d.ID_CA_WCYCLE_TAG_AUTOTIME] = True
    obj[c4d.ID_CA_WCYCLE_TAG_WALK_TYPE] = c4d.ID_CA_WCYCLE_TAG_WALK_TYPE_STATIC
    obj[c4d.ID_CA_WCYCLE_TAG_WALK_MODE] = c4d.ID_CA_WCYCLE_TAG_WALK_MODE_INTERPOLATED
    obj[c4d.ID_CA_WCYCLE_TAG_STRIDE] = 0.1
    obj[c4d.ID_CA_WCYCLE_TAG_DIRECTION] = 0.1
    obj[c4d.ID_CA_WCYCLE_TAG_GRADIENT] = 0.1
    obj[c4d.ID_CA_WCYCLE_TAG_ACTIONS] = 1
    obj[c4d.ID_CA_WCYCLE_TAG_TARGET_PLACEMENT] = c4d.ID_CA_WCYCLE_TAG_TARGET_PLACEMENT_DEFAULT
    obj[c4d.ID_CA_WCYCLE_TAG_TARGET_PLACEMENT_SPACE] = 0.1
    obj[c4d.ID_CA_WCYCLE_TAG_FOLLOW] = True
    obj[c4d.ID_CA_WCYCLE_TAG_HUB_TARGETTING] = 0.1
    obj[c4d.ID_CA_WCYCLE_TAG_BANK] = True
    obj[c4d.ID_CA_WCYCLE_TAG_HUB_RETARGET] = c4d.ID_CA_WCYCLE_TAG_HUB_RETARGET_NONE
    obj[c4d.ID_CA_WCYCLE_TAG_HUB_ROOT_TYPE] = c4d.ID_CA_WCYCLE_TAG_HUB_ROOT_TYPE_MAIN
    obj[c4d.ID_CA_WCYCLE_TAG_HUB_ROOT_AUTO] = True
    obj[c4d.ID_CA_WCYCLE_TAG_HUB_ROOT_OFFSET] = 0.1
    obj[c4d.ID_CA_WCYCLE_TAG_WALK_AXIS] = c4d.ID_CA_WCYCLE_TAG_AXIS_X
    obj[c4d.ID_CA_WCYCLE_TAG_VERT_AXIS] = c4d.ID_CA_WCYCLE_TAG_AXIS_X
    obj[c4d.ID_CA_WCYCLE_TAG_PREVIEW] = True
    obj[c4d.ID_CA_WCYCLE_TAG_PATH_START] = 0.1
    obj[c4d.ID_CA_WCYCLE_TAG_PATH_END] = 0.1
    obj[c4d.ID_CA_WCYCLE_TAG_AXIS_ALIGN_HUB] = True
    obj[c4d.ID_CA_WCYCLE_TAG_ALIGN_AXIS] = c4d.ID_CA_WCYCLE_TAG_AXIS_X
    obj[c4d.ID_CA_WCYCLE_TAG_PATH_PROJECTION] = True
    obj[c4d.ID_CA_WCYCLE_TAG_SURFACE_OFFSET] = 0.1
    obj[c4d.ID_CA_WCYCLE_TAG_SURFACE_PROJECTION] = c4d.ID_CA_WCYCLE_TAG_SURFACE_PROJECTION_CLOSEST
    obj[c4d.ID_CA_WCYCLE_TAG_SURFACE_BASE] = c4d.ID_CA_WCYCLE_TAG_SURFACE_BASE_POINT
    obj[c4d.ID_CA_WCYCLE_TAG_SURFACE_BASE_WIDTH] = 0.1
    obj[c4d.ID_CA_WCYCLE_TAG_SURFACE_BASE_LENGTH] = 0.1
    obj[c4d.ID_CA_WCYCLE_TAG_SURFACE_ALIGN_HUB] = True
    obj[c4d.ID_CA_WCYCLE_TAG_SURFACE_ALIGN_TARGET] = True
    obj[c4d.ID_CA_WCYCLE_TAG_LIMIT] = True
    obj[c4d.ID_CA_WCYCLE_TAG_LIMIT_DISTANCE] = 0.1
    obj[c4d.ID_CA_WCYCLE_TAG_STEPS_TYPE] = c4d.ID_CA_WCYCLE_TAG_STEPS_TYPE_STEPS
    obj[c4d.ID_CA_WCYCLE_STORE_AUTO_CREATESTEPS] = c4d.ID_CA_WCYCLE_STORE_AUTO_CREATESTEPS_ALL
    obj[c4d.ID_CA_WCYCLE_STORE_CREATESTEPS_NUMBER] = 1
    obj[c4d.ID_CA_WCYCLE_TAG_STEPS_WEIGHT] = 0.1
    obj[c4d.ID_CA_WCYCLE_TAG_ACTION_WEIGHT] = 0.1
    obj[c4d.ID_CA_WCYCLE_TAG_HUB_PHASE] = 0.1
    obj[c4d.ID_CA_WCYCLE_TAG_HUB_AUTOOFFSET] = True
    obj[c4d.ID_CA_WCYCLE_TAG_HUB_OFFSET] = 0.1
    obj[c4d.ID_CA_WCYCLE_TAG_HUB_VOFFSET] = 0.1
    obj[c4d.ID_CA_WCYCLE_TAG_HUB_HOFFSET] = 0.1
    obj[c4d.ID_CA_WCYCLE_TAG_HUB_MOTIONS] = 1
    obj[c4d.ID_CA_WCYCLE_TAG_ACTION_MIX] = c4d.ID_CA_WCYCLE_TAG_ACTION_MIX_ABS
    obj[c4d.ID_CA_WCYCLE_TAG_ACTION_MIX_WEIGHT] = 0.1
    obj[c4d.ID_CA_WCYCLE_TAG_TARGET_WALK] = c4d.ID_CA_WCYCLE_TAG_TARGET_WALK_NONE
    obj[c4d.ID_CA_WCYCLE_TAG_TARGET_PHASE] = 0.1
    obj[c4d.ID_CA_WCYCLE_TAG_TARGET_OFFSET] = 0.1
    obj[c4d.ID_CA_WCYCLE_TAG_TARGET_VOFFSET] = 0.1
    obj[c4d.ID_CA_WCYCLE_TAG_TARGET_HOFFSET] = 0.1
    obj[c4d.ID_CA_WCYCLE_TAG_ANALYSE] = True
    obj[c4d.ID_CA_WCYCLE_TAG_ANALYSIS_AUTO] = True
    obj[c4d.ID_CA_WCYCLE_TAG_ANALYSIS_FLOOR] = 0.1
    obj[c4d.ID_CA_WCYCLE_TAG_ANALYSIS_STRIDE] = 0.1
    obj[c4d.ID_CA_WCYCLE_TAG_ANALYSIS_OUPUT_STATIC] = True
    
    #Second way, using the base container.
    bc = obj.GetDataInstance()
    bc.SetBool(c4d.ID_CA_WCYCLE_TAG_AUTOTIME,True)
    bc.SetInt32(c4d.ID_CA_WCYCLE_TAG_WALK_TYPE,c4d.ID_CA_WCYCLE_TAG_WALK_TYPE_STATIC)
    bc.SetInt32(c4d.ID_CA_WCYCLE_TAG_WALK_MODE,c4d.ID_CA_WCYCLE_TAG_WALK_MODE_INTERPOLATED)
    bc.SetFloat(c4d.ID_CA_WCYCLE_TAG_STRIDE,0.1)
    bc.SetFloat(c4d.ID_CA_WCYCLE_TAG_DIRECTION,0.1)
    bc.SetFloat(c4d.ID_CA_WCYCLE_TAG_GRADIENT,0.1)
    bc.SetInt32(c4d.ID_CA_WCYCLE_TAG_ACTIONS,1)
    bc.SetInt32(c4d.ID_CA_WCYCLE_TAG_TARGET_PLACEMENT,c4d.ID_CA_WCYCLE_TAG_TARGET_PLACEMENT_DEFAULT)
    bc.SetFloat(c4d.ID_CA_WCYCLE_TAG_TARGET_PLACEMENT_SPACE,0.1)
    bc.SetBool(c4d.ID_CA_WCYCLE_TAG_FOLLOW,True)
    bc.SetFloat(c4d.ID_CA_WCYCLE_TAG_HUB_TARGETTING,0.1)
    bc.SetBool(c4d.ID_CA_WCYCLE_TAG_BANK,True)
    bc.SetInt32(c4d.ID_CA_WCYCLE_TAG_HUB_RETARGET,c4d.ID_CA_WCYCLE_TAG_HUB_RETARGET_NONE)
    bc.SetInt32(c4d.ID_CA_WCYCLE_TAG_HUB_ROOT_TYPE,c4d.ID_CA_WCYCLE_TAG_HUB_ROOT_TYPE_MAIN)
    bc.SetBool(c4d.ID_CA_WCYCLE_TAG_HUB_ROOT_AUTO,True)
    bc.SetFloat(c4d.ID_CA_WCYCLE_TAG_HUB_ROOT_OFFSET,0.1)
    bc.SetInt32(c4d.ID_CA_WCYCLE_TAG_WALK_AXIS,c4d.ID_CA_WCYCLE_TAG_AXIS_X)
    bc.SetInt32(c4d.ID_CA_WCYCLE_TAG_VERT_AXIS,c4d.ID_CA_WCYCLE_TAG_AXIS_X)
    bc.SetBool(c4d.ID_CA_WCYCLE_TAG_PREVIEW,True)
    bc.SetFloat(c4d.ID_CA_WCYCLE_TAG_PATH_START,0.1)
    bc.SetFloat(c4d.ID_CA_WCYCLE_TAG_PATH_END,0.1)
    bc.SetBool(c4d.ID_CA_WCYCLE_TAG_AXIS_ALIGN_HUB,True)
    bc.SetInt32(c4d.ID_CA_WCYCLE_TAG_ALIGN_AXIS,c4d.ID_CA_WCYCLE_TAG_AXIS_X)
    bc.SetBool(c4d.ID_CA_WCYCLE_TAG_PATH_PROJECTION,True)
    bc.SetFloat(c4d.ID_CA_WCYCLE_TAG_SURFACE_OFFSET,0.1)
    bc.SetInt32(c4d.ID_CA_WCYCLE_TAG_SURFACE_PROJECTION,c4d.ID_CA_WCYCLE_TAG_SURFACE_PROJECTION_CLOSEST)
    bc.SetInt32(c4d.ID_CA_WCYCLE_TAG_SURFACE_BASE,c4d.ID_CA_WCYCLE_TAG_SURFACE_BASE_POINT)
    bc.SetFloat(c4d.ID_CA_WCYCLE_TAG_SURFACE_BASE_WIDTH,0.1)
    bc.SetFloat(c4d.ID_CA_WCYCLE_TAG_SURFACE_BASE_LENGTH,0.1)
    bc.SetBool(c4d.ID_CA_WCYCLE_TAG_SURFACE_ALIGN_HUB,True)
    bc.SetBool(c4d.ID_CA_WCYCLE_TAG_SURFACE_ALIGN_TARGET,True)
    bc.SetBool(c4d.ID_CA_WCYCLE_TAG_LIMIT,True)
    bc.SetFloat(c4d.ID_CA_WCYCLE_TAG_LIMIT_DISTANCE,0.1)
    bc.SetInt32(c4d.ID_CA_WCYCLE_TAG_STEPS_TYPE,c4d.ID_CA_WCYCLE_TAG_STEPS_TYPE_STEPS)
    bc.SetInt32(c4d.ID_CA_WCYCLE_STORE_AUTO_CREATESTEPS,c4d.ID_CA_WCYCLE_STORE_AUTO_CREATESTEPS_ALL)
    bc.SetInt32(c4d.ID_CA_WCYCLE_STORE_CREATESTEPS_NUMBER,1)
    bc.SetFloat(c4d.ID_CA_WCYCLE_TAG_STEPS_WEIGHT,0.1)
    bc.SetFloat(c4d.ID_CA_WCYCLE_TAG_ACTION_WEIGHT,0.1)
    bc.SetFloat(c4d.ID_CA_WCYCLE_TAG_HUB_PHASE,0.1)
    bc.SetBool(c4d.ID_CA_WCYCLE_TAG_HUB_AUTOOFFSET,True)
    bc.SetFloat(c4d.ID_CA_WCYCLE_TAG_HUB_OFFSET,0.1)
    bc.SetFloat(c4d.ID_CA_WCYCLE_TAG_HUB_VOFFSET,0.1)
    bc.SetFloat(c4d.ID_CA_WCYCLE_TAG_HUB_HOFFSET,0.1)
    bc.SetInt32(c4d.ID_CA_WCYCLE_TAG_HUB_MOTIONS,1)
    bc.SetInt32(c4d.ID_CA_WCYCLE_TAG_ACTION_MIX,c4d.ID_CA_WCYCLE_TAG_ACTION_MIX_ABS)
    bc.SetFloat(c4d.ID_CA_WCYCLE_TAG_ACTION_MIX_WEIGHT,0.1)
    bc.SetInt32(c4d.ID_CA_WCYCLE_TAG_TARGET_WALK,c4d.ID_CA_WCYCLE_TAG_TARGET_WALK_NONE)
    bc.SetFloat(c4d.ID_CA_WCYCLE_TAG_TARGET_PHASE,0.1)
    bc.SetFloat(c4d.ID_CA_WCYCLE_TAG_TARGET_OFFSET,0.1)
    bc.SetFloat(c4d.ID_CA_WCYCLE_TAG_TARGET_VOFFSET,0.1)
    bc.SetFloat(c4d.ID_CA_WCYCLE_TAG_TARGET_HOFFSET,0.1)
    bc.SetBool(c4d.ID_CA_WCYCLE_TAG_ANALYSE,True)
    bc.SetBool(c4d.ID_CA_WCYCLE_TAG_ANALYSIS_AUTO,True)
    bc.SetFloat(c4d.ID_CA_WCYCLE_TAG_ANALYSIS_FLOOR,0.1)
    bc.SetFloat(c4d.ID_CA_WCYCLE_TAG_ANALYSIS_STRIDE,0.1)
    bc.SetBool(c4d.ID_CA_WCYCLE_TAG_ANALYSIS_OUPUT_STATIC,True)

if __name__=='__main__':
    main()
             

C++

#include "c4d.h"
#include "../ca/description/tcawcycle.h"
void SampleFunction()
{
    BaseDocument *pDoc = GetActiveDocument();
    BaseObject *pObject = BaseObject::Alloc(Tcawcycle);
    pDoc->InsertObject(pObject);
    pDoc->StartUndo();
    pDoc->AddUndo(UNDO_NEW,pObject);
    pDoc->EndUndo();
    EventAdd(EVENT_FORCEREDRAW);
    
    //You can set parameters two different ways. 

    //First way              
    //Some objects do not store all their data in the container. You need to use GetParameter()/SetParameter() instead. 

    DESCFLAGS_SET flags = DESCFLAGS_SET_PARAM_SET;
    pObject->SetParameter(DescID(ID_CA_WCYCLE_TAG_AUTOTIME),GeData(true),flags);
    pObject->SetParameter(DescID(ID_CA_WCYCLE_TAG_WALK_TYPE),GeData(ID_CA_WCYCLE_TAG_WALK_TYPE_STATIC),flags);
    pObject->SetParameter(DescID(ID_CA_WCYCLE_TAG_WALK_MODE),GeData(ID_CA_WCYCLE_TAG_WALK_MODE_INTERPOLATED),flags);
    pObject->SetParameter(DescID(ID_CA_WCYCLE_TAG_STRIDE),GeData(0.1),flags);
    pObject->SetParameter(DescID(ID_CA_WCYCLE_TAG_DIRECTION),GeData(0.1),flags);
    pObject->SetParameter(DescID(ID_CA_WCYCLE_TAG_GRADIENT),GeData(0.1),flags);
    pObject->SetParameter(DescID(ID_CA_WCYCLE_TAG_ACTIONS),GeData(1),flags);
    pObject->SetParameter(DescID(ID_CA_WCYCLE_TAG_TARGET_PLACEMENT),GeData(ID_CA_WCYCLE_TAG_TARGET_PLACEMENT_DEFAULT),flags);
    pObject->SetParameter(DescID(ID_CA_WCYCLE_TAG_TARGET_PLACEMENT_SPACE),GeData(0.1),flags);
    pObject->SetParameter(DescID(ID_CA_WCYCLE_TAG_FOLLOW),GeData(true),flags);
    pObject->SetParameter(DescID(ID_CA_WCYCLE_TAG_HUB_TARGETTING),GeData(0.1),flags);
    pObject->SetParameter(DescID(ID_CA_WCYCLE_TAG_BANK),GeData(true),flags);
    pObject->SetParameter(DescID(ID_CA_WCYCLE_TAG_HUB_RETARGET),GeData(ID_CA_WCYCLE_TAG_HUB_RETARGET_NONE),flags);
    pObject->SetParameter(DescID(ID_CA_WCYCLE_TAG_HUB_ROOT_TYPE),GeData(ID_CA_WCYCLE_TAG_HUB_ROOT_TYPE_MAIN),flags);
    pObject->SetParameter(DescID(ID_CA_WCYCLE_TAG_HUB_ROOT_AUTO),GeData(true),flags);
    pObject->SetParameter(DescID(ID_CA_WCYCLE_TAG_HUB_ROOT_OFFSET),GeData(0.1),flags);
    pObject->SetParameter(DescID(ID_CA_WCYCLE_TAG_WALK_AXIS),GeData(ID_CA_WCYCLE_TAG_AXIS_X),flags);
    pObject->SetParameter(DescID(ID_CA_WCYCLE_TAG_VERT_AXIS),GeData(ID_CA_WCYCLE_TAG_AXIS_X),flags);
    pObject->SetParameter(DescID(ID_CA_WCYCLE_TAG_PREVIEW),GeData(true),flags);
    pObject->SetParameter(DescID(ID_CA_WCYCLE_TAG_PATH_START),GeData(0.1),flags);
    pObject->SetParameter(DescID(ID_CA_WCYCLE_TAG_PATH_END),GeData(0.1),flags);
    pObject->SetParameter(DescID(ID_CA_WCYCLE_TAG_AXIS_ALIGN_HUB),GeData(true),flags);
    pObject->SetParameter(DescID(ID_CA_WCYCLE_TAG_ALIGN_AXIS),GeData(ID_CA_WCYCLE_TAG_AXIS_X),flags);
    pObject->SetParameter(DescID(ID_CA_WCYCLE_TAG_PATH_PROJECTION),GeData(true),flags);
    pObject->SetParameter(DescID(ID_CA_WCYCLE_TAG_SURFACE_OFFSET),GeData(0.1),flags);
    pObject->SetParameter(DescID(ID_CA_WCYCLE_TAG_SURFACE_PROJECTION),GeData(ID_CA_WCYCLE_TAG_SURFACE_PROJECTION_CLOSEST),flags);
    pObject->SetParameter(DescID(ID_CA_WCYCLE_TAG_SURFACE_BASE),GeData(ID_CA_WCYCLE_TAG_SURFACE_BASE_POINT),flags);
    pObject->SetParameter(DescID(ID_CA_WCYCLE_TAG_SURFACE_BASE_WIDTH),GeData(0.1),flags);
    pObject->SetParameter(DescID(ID_CA_WCYCLE_TAG_SURFACE_BASE_LENGTH),GeData(0.1),flags);
    pObject->SetParameter(DescID(ID_CA_WCYCLE_TAG_SURFACE_ALIGN_HUB),GeData(true),flags);
    pObject->SetParameter(DescID(ID_CA_WCYCLE_TAG_SURFACE_ALIGN_TARGET),GeData(true),flags);
    pObject->SetParameter(DescID(ID_CA_WCYCLE_TAG_LIMIT),GeData(true),flags);
    pObject->SetParameter(DescID(ID_CA_WCYCLE_TAG_LIMIT_DISTANCE),GeData(0.1),flags);
    pObject->SetParameter(DescID(ID_CA_WCYCLE_TAG_STEPS_TYPE),GeData(ID_CA_WCYCLE_TAG_STEPS_TYPE_STEPS),flags);
    pObject->SetParameter(DescID(ID_CA_WCYCLE_STORE_AUTO_CREATESTEPS),GeData(ID_CA_WCYCLE_STORE_AUTO_CREATESTEPS_ALL),flags);
    pObject->SetParameter(DescID(ID_CA_WCYCLE_STORE_CREATESTEPS_NUMBER),GeData(1),flags);
    pObject->SetParameter(DescID(ID_CA_WCYCLE_TAG_STEPS_WEIGHT),GeData(0.1),flags);
    pObject->SetParameter(DescID(ID_CA_WCYCLE_TAG_ACTION_WEIGHT),GeData(0.1),flags);
    pObject->SetParameter(DescID(ID_CA_WCYCLE_TAG_HUB_PHASE),GeData(0.1),flags);
    pObject->SetParameter(DescID(ID_CA_WCYCLE_TAG_HUB_AUTOOFFSET),GeData(true),flags);
    pObject->SetParameter(DescID(ID_CA_WCYCLE_TAG_HUB_OFFSET),GeData(0.1),flags);
    pObject->SetParameter(DescID(ID_CA_WCYCLE_TAG_HUB_VOFFSET),GeData(0.1),flags);
    pObject->SetParameter(DescID(ID_CA_WCYCLE_TAG_HUB_HOFFSET),GeData(0.1),flags);
    pObject->SetParameter(DescID(ID_CA_WCYCLE_TAG_HUB_MOTIONS),GeData(1),flags);
    pObject->SetParameter(DescID(ID_CA_WCYCLE_TAG_ACTION_MIX),GeData(ID_CA_WCYCLE_TAG_ACTION_MIX_ABS),flags);
    pObject->SetParameter(DescID(ID_CA_WCYCLE_TAG_ACTION_MIX_WEIGHT),GeData(0.1),flags);
    pObject->SetParameter(DescID(ID_CA_WCYCLE_TAG_TARGET_WALK),GeData(ID_CA_WCYCLE_TAG_TARGET_WALK_NONE),flags);
    pObject->SetParameter(DescID(ID_CA_WCYCLE_TAG_TARGET_PHASE),GeData(0.1),flags);
    pObject->SetParameter(DescID(ID_CA_WCYCLE_TAG_TARGET_OFFSET),GeData(0.1),flags);
    pObject->SetParameter(DescID(ID_CA_WCYCLE_TAG_TARGET_VOFFSET),GeData(0.1),flags);
    pObject->SetParameter(DescID(ID_CA_WCYCLE_TAG_TARGET_HOFFSET),GeData(0.1),flags);
    pObject->SetParameter(DescID(ID_CA_WCYCLE_TAG_ANALYSE),GeData(true),flags);
    pObject->SetParameter(DescID(ID_CA_WCYCLE_TAG_ANALYSIS_AUTO),GeData(true),flags);
    pObject->SetParameter(DescID(ID_CA_WCYCLE_TAG_ANALYSIS_FLOOR),GeData(0.1),flags);
    pObject->SetParameter(DescID(ID_CA_WCYCLE_TAG_ANALYSIS_STRIDE),GeData(0.1),flags);
    pObject->SetParameter(DescID(ID_CA_WCYCLE_TAG_ANALYSIS_OUPUT_STATIC),GeData(true),flags);
    pObject->Message(MSG_UPDATE);            

    //Second way, using the base container.
    BaseContainer *bc =     pObject->GetDataInstance();
    bc->SetBool(ID_CA_WCYCLE_TAG_AUTOTIME,true);
    bc->SetInt32(ID_CA_WCYCLE_TAG_WALK_TYPE,ID_CA_WCYCLE_TAG_WALK_TYPE_STATIC);
    bc->SetInt32(ID_CA_WCYCLE_TAG_WALK_MODE,ID_CA_WCYCLE_TAG_WALK_MODE_INTERPOLATED);
    bc->SetFloat(ID_CA_WCYCLE_TAG_STRIDE,0.1);
    bc->SetFloat(ID_CA_WCYCLE_TAG_DIRECTION,0.1);
    bc->SetFloat(ID_CA_WCYCLE_TAG_GRADIENT,0.1);
    bc->SetInt32(ID_CA_WCYCLE_TAG_ACTIONS,1);
    bc->SetInt32(ID_CA_WCYCLE_TAG_TARGET_PLACEMENT,ID_CA_WCYCLE_TAG_TARGET_PLACEMENT_DEFAULT);
    bc->SetFloat(ID_CA_WCYCLE_TAG_TARGET_PLACEMENT_SPACE,0.1);
    bc->SetBool(ID_CA_WCYCLE_TAG_FOLLOW,true);
    bc->SetFloat(ID_CA_WCYCLE_TAG_HUB_TARGETTING,0.1);
    bc->SetBool(ID_CA_WCYCLE_TAG_BANK,true);
    bc->SetInt32(ID_CA_WCYCLE_TAG_HUB_RETARGET,ID_CA_WCYCLE_TAG_HUB_RETARGET_NONE);
    bc->SetInt32(ID_CA_WCYCLE_TAG_HUB_ROOT_TYPE,ID_CA_WCYCLE_TAG_HUB_ROOT_TYPE_MAIN);
    bc->SetBool(ID_CA_WCYCLE_TAG_HUB_ROOT_AUTO,true);
    bc->SetFloat(ID_CA_WCYCLE_TAG_HUB_ROOT_OFFSET,0.1);
    bc->SetInt32(ID_CA_WCYCLE_TAG_WALK_AXIS,ID_CA_WCYCLE_TAG_AXIS_X);
    bc->SetInt32(ID_CA_WCYCLE_TAG_VERT_AXIS,ID_CA_WCYCLE_TAG_AXIS_X);
    bc->SetBool(ID_CA_WCYCLE_TAG_PREVIEW,true);
    bc->SetFloat(ID_CA_WCYCLE_TAG_PATH_START,0.1);
    bc->SetFloat(ID_CA_WCYCLE_TAG_PATH_END,0.1);
    bc->SetBool(ID_CA_WCYCLE_TAG_AXIS_ALIGN_HUB,true);
    bc->SetInt32(ID_CA_WCYCLE_TAG_ALIGN_AXIS,ID_CA_WCYCLE_TAG_AXIS_X);
    bc->SetBool(ID_CA_WCYCLE_TAG_PATH_PROJECTION,true);
    bc->SetFloat(ID_CA_WCYCLE_TAG_SURFACE_OFFSET,0.1);
    bc->SetInt32(ID_CA_WCYCLE_TAG_SURFACE_PROJECTION,ID_CA_WCYCLE_TAG_SURFACE_PROJECTION_CLOSEST);
    bc->SetInt32(ID_CA_WCYCLE_TAG_SURFACE_BASE,ID_CA_WCYCLE_TAG_SURFACE_BASE_POINT);
    bc->SetFloat(ID_CA_WCYCLE_TAG_SURFACE_BASE_WIDTH,0.1);
    bc->SetFloat(ID_CA_WCYCLE_TAG_SURFACE_BASE_LENGTH,0.1);
    bc->SetBool(ID_CA_WCYCLE_TAG_SURFACE_ALIGN_HUB,true);
    bc->SetBool(ID_CA_WCYCLE_TAG_SURFACE_ALIGN_TARGET,true);
    bc->SetBool(ID_CA_WCYCLE_TAG_LIMIT,true);
    bc->SetFloat(ID_CA_WCYCLE_TAG_LIMIT_DISTANCE,0.1);
    bc->SetInt32(ID_CA_WCYCLE_TAG_STEPS_TYPE,ID_CA_WCYCLE_TAG_STEPS_TYPE_STEPS);
    bc->SetInt32(ID_CA_WCYCLE_STORE_AUTO_CREATESTEPS,ID_CA_WCYCLE_STORE_AUTO_CREATESTEPS_ALL);
    bc->SetInt32(ID_CA_WCYCLE_STORE_CREATESTEPS_NUMBER,1);
    bc->SetFloat(ID_CA_WCYCLE_TAG_STEPS_WEIGHT,0.1);
    bc->SetFloat(ID_CA_WCYCLE_TAG_ACTION_WEIGHT,0.1);
    bc->SetFloat(ID_CA_WCYCLE_TAG_HUB_PHASE,0.1);
    bc->SetBool(ID_CA_WCYCLE_TAG_HUB_AUTOOFFSET,true);
    bc->SetFloat(ID_CA_WCYCLE_TAG_HUB_OFFSET,0.1);
    bc->SetFloat(ID_CA_WCYCLE_TAG_HUB_VOFFSET,0.1);
    bc->SetFloat(ID_CA_WCYCLE_TAG_HUB_HOFFSET,0.1);
    bc->SetInt32(ID_CA_WCYCLE_TAG_HUB_MOTIONS,1);
    bc->SetInt32(ID_CA_WCYCLE_TAG_ACTION_MIX,ID_CA_WCYCLE_TAG_ACTION_MIX_ABS);
    bc->SetFloat(ID_CA_WCYCLE_TAG_ACTION_MIX_WEIGHT,0.1);
    bc->SetInt32(ID_CA_WCYCLE_TAG_TARGET_WALK,ID_CA_WCYCLE_TAG_TARGET_WALK_NONE);
    bc->SetFloat(ID_CA_WCYCLE_TAG_TARGET_PHASE,0.1);
    bc->SetFloat(ID_CA_WCYCLE_TAG_TARGET_OFFSET,0.1);
    bc->SetFloat(ID_CA_WCYCLE_TAG_TARGET_VOFFSET,0.1);
    bc->SetFloat(ID_CA_WCYCLE_TAG_TARGET_HOFFSET,0.1);
    bc->SetBool(ID_CA_WCYCLE_TAG_ANALYSE,true);
    bc->SetBool(ID_CA_WCYCLE_TAG_ANALYSIS_AUTO,true);
    bc->SetFloat(ID_CA_WCYCLE_TAG_ANALYSIS_FLOOR,0.1);
    bc->SetFloat(ID_CA_WCYCLE_TAG_ANALYSIS_STRIDE,0.1);
    bc->SetBool(ID_CA_WCYCLE_TAG_ANALYSIS_OUPUT_STATIC,true);
    pObject->Message(MSG_UPDATE);                                                      
}
             

Buttons

This node has buttons. Buttons can manually be executed by calling the following code

Python

c4d.CallButton(obj,c4d.ID_CA_WCYCLE_TAG_LOAD_PRESET)
c4d.CallButton(obj,c4d.ID_CA_WCYCLE_TAG_SAVE_PRESET)
c4d.CallButton(obj,c4d.ID_CA_WCYCLE_TAG_ACTION_ADD)
c4d.CallButton(obj,c4d.ID_CA_WCYCLE_STORE_RESTPOSE)
c4d.CallButton(obj,c4d.ID_CA_WCYCLE_RESTORE_RESTPOSE)
c4d.CallButton(obj,c4d.ID_CA_WCYCLE_STORE_CREATESTEPS)
c4d.CallButton(obj,c4d.ID_CA_WCYCLE_TAG_ANALYSIS_CALC)
c4d.CallButton(obj,c4d.ID_CA_WCYCLE_TAG_ANALYSIS_PATHTOSPLINE)
c4d.CallButton(obj,c4d.ID_CA_WCYCLE_TAG_ANALYSIS_CREATEMO)

C++

DescriptionCommand dc;
dc.id = DescID(ID_CA_WCYCLE_TAG_LOAD_PRESET);             
pObject->Message(MSG_DESCRIPTION_COMMAND, &dc);

DescriptionCommand dc; dc.id = DescID(ID_CA_WCYCLE_TAG_SAVE_PRESET); pObject->Message(MSG_DESCRIPTION_COMMAND, &dc);
DescriptionCommand dc; dc.id = DescID(ID_CA_WCYCLE_TAG_ACTION_ADD); pObject->Message(MSG_DESCRIPTION_COMMAND, &dc);
DescriptionCommand dc; dc.id = DescID(ID_CA_WCYCLE_STORE_RESTPOSE); pObject->Message(MSG_DESCRIPTION_COMMAND, &dc);
DescriptionCommand dc; dc.id = DescID(ID_CA_WCYCLE_RESTORE_RESTPOSE); pObject->Message(MSG_DESCRIPTION_COMMAND, &dc);
DescriptionCommand dc; dc.id = DescID(ID_CA_WCYCLE_STORE_CREATESTEPS); pObject->Message(MSG_DESCRIPTION_COMMAND, &dc);
DescriptionCommand dc; dc.id = DescID(ID_CA_WCYCLE_TAG_ANALYSIS_CALC); pObject->Message(MSG_DESCRIPTION_COMMAND, &dc);
DescriptionCommand dc; dc.id = DescID(ID_CA_WCYCLE_TAG_ANALYSIS_PATHTOSPLINE); pObject->Message(MSG_DESCRIPTION_COMMAND, &dc);
DescriptionCommand dc; dc.id = DescID(ID_CA_WCYCLE_TAG_ANALYSIS_CREATEMO); pObject->Message(MSG_DESCRIPTION_COMMAND, &dc);