FCurve(bpy_struct)

base class — bpy_struct

class bpy.types.FCurve(bpy_struct)

F-Curve defining values of a period of time

array_index

Index to the specific property affected by F-Curve if applicable (in [0, inf], default 0)

Type:

int

auto_smoothing

Algorithm used to compute automatic handles (default 'NONE')

Type:

Literal[Fcurve Auto Smoothing Items]

color

Color of the F-Curve in the Graph Editor (array of 3 items, in [0, 1], default (0.0, 0.0, 0.0))

Type:

mathutils.Color

color_mode

Method used to determine color of F-Curve in Graph Editor (default 'AUTO_RAINBOW')

  • AUTO_RAINBOW Auto Rainbow – Cycle through the rainbow, trying to give each curve a unique color.

  • AUTO_RGB Auto XYZ to RGB – Use axis colors for transform and color properties, and auto-rainbow for the rest.

  • AUTO_YRGB Auto WXYZ to YRGB – Use WXYZ axis colors for quaternion/axis-angle rotations, XYZ axis colors for other transform and color properties, and auto-rainbow for the rest.

  • CUSTOM User Defined – Use custom hand-picked color for F-Curve.

Type:

Literal[‘AUTO_RAINBOW’, ‘AUTO_RGB’, ‘AUTO_YRGB’, ‘CUSTOM’]

data_path

RNA Path to property affected by F-Curve (default “”, never None)

Type:

str

driver

Channel Driver (only set for Driver F-Curves) (readonly)

Type:

Driver

extrapolation

Method used for evaluating value of F-Curve outside first and last keyframes (default 'CONSTANT')

  • CONSTANT Constant – Hold values of endpoint keyframes.

  • LINEAR Linear – Use slope of curve leading in/out of endpoint keyframes.

Type:

Literal[‘CONSTANT’, ‘LINEAR’]

group

Action Group that this F-Curve belongs to

Type:

ActionGroup

hide

F-Curve and its keyframes are hidden in the Graph Editor graphs (default True)

Type:

bool

is_empty

True if the curve contributes no animation due to lack of keyframes or useful modifiers, and should be deleted (default False, readonly)

Type:

bool

is_valid

False when F-Curve could not be evaluated in past, so should be skipped when evaluating (default True)

Type:

bool

keyframe_points

User-editable keyframes (default None, readonly)

Type:

FCurveKeyframePoints[Keyframe]

lock

F-Curve’s settings cannot be edited (default False)

Type:

bool

modifiers

Modifiers affecting the shape of the F-Curve (default None, readonly)

Type:

FCurveModifiers[FModifier]

mute

Disable F-Curve evaluation (default False)

Type:

bool

sampled_points

Sampled animation data (default None, readonly)

Type:

bpy_prop_collection[FCurveSample]

select

F-Curve is selected for editing (default False)

Type:

bool

evaluate(frame)

Evaluate F-Curve

Parameters:

frame (float) – Frame, Evaluate F-Curve at given frame (in [-inf, inf])

Returns:

Value, Value of F-Curve specific frame (in [-inf, inf])

Return type:

float

update()

Ensure keyframes are sorted in chronological order and handles are set correctly

range()

Get the time extents for F-Curve

Returns:

Range, Min/Max values (array of 2 items, in [-inf, inf])

Return type:

mathutils.Vector

update_autoflags(data)

Update FCurve flags set automatically from affected property (currently, integer/discrete flags set when the property is not a float)

Parameters:

data (AnyType) – Data, Data containing the property controlled by given FCurve (never None)

convert_to_samples(start, end)

Convert current FCurve from keyframes to sample points, if necessary

Parameters:
  • start (int) – Start Frame, (in [-1048574, 1048574])

  • end (int) – End Frame, (in [-1048574, 1048574])

convert_to_keyframes(start, end)

Convert current FCurve from sample points to keyframes (linear interpolation), if necessary

Parameters:
  • start (int) – Start Frame, (in [-1048574, 1048574])

  • end (int) – End Frame, (in [-1048574, 1048574])

bake(start, end, *, step=1.0, remove='IN_RANGE')

Place keys at even intervals on the existing curve.

Parameters:
  • start (int) – Start Frame, Frame at which to start baking (in [-1048574, 1048574])

  • end (int) – End Frame, Frame at which to end baking (inclusive) (in [-1048574, 1048574])

  • step (float) – Step, At which interval to add keys (in [0.01, inf], optional)

  • remove (Literal['NONE', 'IN_RANGE', 'OUT_RANGE', 'ALL']) –

    Remove Options, Choose which keys should be automatically removed by the bake (optional)

    • NONE None – Keep all keys.

    • IN_RANGE In Range – Remove all keys within the defined range.

    • OUT_RANGE Outside Range – Remove all keys outside the defined range.

    • ALL All – Remove all existing keys.

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