pymel.core.animation.setKeyframe

setKeyframe(*args, **kwargs)

This command creates keyframes for the specified objects, or the active objects if none are specified on the command line. The default time for the new keyframes is the current time. Override this behavior with the -tflag on the command line. The default value for the keyframe is the current value of the attribute for which a keyframe is set. Override this behavior with the -vflag on the command line. When setting keyframes on animation curves that do not have timeas an input attribute (ie, they are unitless animation curves), use -f/-floatto specify the unitless value at which to set a keyframe. The -time and -float flags may be combined in one command. This command sets up Dependency Graph relationships for proper evaluation of a given attribute at a given time.

Flags:

Long Name / Short Name Argument Types Properties
animLayer / al unicode ../../../_images/create.gif
  Specifies that the new key should be placed in the specified animation layer. Note that if the objects being keyframed are not already part of the layer, this flag will be ignored.
animated / an bool ../../../_images/create.gif
  Add the keyframe only to the attribute(s) that have already a keyframe on. Default: false
attribute / at unicode ../../../_images/create.gif
  Attribute name to set keyframes on.
breakdown / bd bool ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
  Sets the breakdown state for the key. Default is false
clip / c unicode ../../../_images/create.gif
  Specifies that the new key should be placed in the specified clip. Note that if the objects being keyframed are not already part of the clip, this flag will be ignored.
controlPoints / cp bool ../../../_images/create.gif
  Explicitly specify whether or not to include the control points of a shape (see -sflag) in the list of attributes. Default: false.
dirtyDG / dd bool  
   
float / f float ../../../_images/create.gif
  Float time at which to set a keyframe on float-based animation curves.
hierarchy / hi unicode ../../../_images/create.gif
  Controls the objects this command acts on, relative to the specified (or active) target objects. Valid values are above,below,both,and none.Default is hierarchy -query
identity / id bool ../../../_images/create.gif
  Sets an identity key on an animation layer. An identity key is one that nullifies the effect of the anim layer. This flag has effect only when the attribute being keyed is being driven by animation layers.
inTangentType / itt unicode ../../../_images/create.gif
  The in tangent type for keyframes set by this command. Valid values are: auto, clamped, fast, flat, linear, plateau, slow, spline, and stepnextDefault is keyTangent -q -g -inTangentType
insert / i bool ../../../_images/create.gif
  Insert keys at the given time(s) and preserve the shape of the animation curve(s). Note: the tangent type on inserted keys will be fixed so that the curve shape can be preserved.
insertBlend / ib bool ../../../_images/create.gif
  If true, a pairBlend node will be inserted for channels that have nodes other than animCurves driving them, so that such channels can have blended animation. If false, these channels will not have keys inserted. If the flag is not specified, the blend will be inserted based on the global preference for blending animation.
minimizeRotation / mr bool ../../../_images/create.gif
  For rotations, ensures that the key that is set is a minimum distance away from the previous key. Default is false
noResolve / nr bool ../../../_images/create.gif
  When used with the -value flag, causes the specified value to be set directly onto the animation curve, without attempting to resolve the value across animation layers.
outTangentType / ott unicode ../../../_images/create.gif
  The out tangent type for keyframes set by this command. Valid values are: auto, clamped, fast, flat, linear, plateau, slow, spline, step, and stepnext. Default is keyTangent -q -g -outTangentType
respectKeyable / rk bool ../../../_images/create.gif
  When used with the -attribute flag, prevents the keying of the non keyable attributes.
shape / s bool ../../../_images/create.gif
  Consider attributes of shapes below transforms as well, except controlPoints. Default: true
time / t time ../../../_images/create.gif
  Time at which to set a keyframe on time-based animation curves.
useCurrentLockedWeights / lw bool ../../../_images/create.gif
  If we are setting a key over an existing key, use that key tangent’s locked weight value for the new locked weight value. Default is false
value / v float ../../../_images/create.gif
  Value at which to set the keyframe. Using the value flag will not cause the keyed attribute to change to the specified value until the scene re-evaluates. Therefore, if you want the attribute to update to the new value immediately, use the setAttr command in addition to setting the key. Flag can have multiple arguments, passed either as a tuple or a list.

Derived from mel command maya.cmds.setKeyframe

Example:

import pymel.core as pm

# Set a keyframe at the current time on all "keyable"
# attributes of the selected objects.
#
pm.setKeyframe()

# Set a keyframe so that translateX has a value of 10
# at the current time, regardless of its current position
#
pm.setKeyframe( v=10, at='translateX' )

# Set keyframes for translateX on two objects at t=0 and
# t=10 seconds.  (Note that if mysteryObject has no
# attribute named translateX, no keyframe is set for mysteryObject.)
#
pm.setKeyframe( 'nurbsSphere1', 'mysteryObject', attribute='translateX', t=['0sec','10sec'] )