Action(ID)

base classes — bpy_struct, ID

class bpy.types.Action(ID)

A collection of F-Curves for animation

curve_frame_range

The combined frame range of all F-Curves within this action (array of 2 items, in [-inf, inf], default (0.0, 0.0), readonly)

Type:

mathutils.Vector

frame_end

The end frame of the manually set intended playback range (in [-1.04857e+06, 1.04857e+06], default 0.0)

Type:

float

frame_range

The intended playback frame range of this action, using the manually set range if available, or the combined frame range of all F-Curves within this action if not (assigning sets the manual frame range) (array of 2 items, in [-inf, inf], default (0.0, 0.0))

Type:

mathutils.Vector

frame_start

The start frame of the manually set intended playback range (in [-1.04857e+06, 1.04857e+06], default 0.0)

Type:

float

is_action_layered

Return whether this is a layered Action. At this point all actions are layered through versioning and this function will always return true (default False, readonly)

Type:

bool

is_action_legacy

Return whether this is a legacy Action. Legacy Actions have no layers or slots. Since Blender 4.4 actions are automatically updated to layered actions. This will only return true on empty actions (default False, readonly)

Type:

bool

is_empty

False when there is any Layer, Slot, or legacy F-Curve (default False, readonly)

Type:

bool

layers

The list of layers that make up this Action (default None, readonly)

Type:

ActionLayers[ActionLayer]

pose_markers

Markers specific to this action, for labeling poses (default None, readonly)

Type:

ActionPoseMarkers[TimelineMarker]

slots

The list of slots in this Action (default None, readonly)

Type:

ActionSlots[ActionSlot]

use_cyclic

The action is intended to be used as a cycle looping over its manually set playback frame range (enabling this does not automatically make it loop) (default False)

Type:

bool

use_frame_range

Manually specify the intended playback frame range for the action (this range is used by some tools, but does not affect animation evaluation) (default False)

Type:

bool

deselect_keys()

Deselects all keys of the Action. The selection status of F-Curves is unchanged.

fcurve_ensure_for_datablock(datablock, data_path, *, index=0, group_name='')

Ensure that an F-Curve exists, with the given data path and array index, for the given data-block. This action must already be assigned to the data-block. This function will also create the layer, keyframe strip, and action slot if necessary, and take care of assigning the action slot too

Parameters:
  • datablock (ID) – The data-block animated by this action, for which to ensure the F-Curve exists. This action must already be assigned to the data-block (never None)

  • data_path (str) – Data Path, F-Curve data path (never None)

  • index (int) – Index, Array index (in [0, inf], optional)

  • group_name (str) – Group Name, Name of the group for this F-Curve, if any. If the F-Curve already exists, this parameter is ignored (optional, never None)

Returns:

The found or created F-Curve

Return type:

FCurve

flip_with_pose(object)

Flip the action around the X axis using a pose

Parameters:

object (Object) – The reference armature object to use when flipping (never None)

classmethod bl_rna_get_subclass(id, default=None, /)
Parameters:
  • id (str) – The RNA type identifier.

  • default (bpy.types.Struct | None) – The value to return when not found.

Returns:

The RNA type or default when not found.

Return type:

bpy.types.Struct

classmethod bl_rna_get_subclass_py(id, default=None, /)
Parameters:
  • id (str) – The RNA type identifier.

  • default (type | None) – The value to return when not found.

Returns:

The class or default when not found.

Return type:

type

Inherited Properties

Inherited Functions

References