Cleanup: spelling
[blender.git] / doc / python_api / examples / bpy.types.bpy_struct.keyframe_insert.1.py
1 """
2 Note that when keying data paths which contain nested properties this must be
3 done from the :class:`ID` subclass, in this case the :class:`Armature` rather
4 than the bone.
5 """
6
7 import bpy
8 from bpy.props import (
9     FloatProperty,
10     PointerProperty,
11 )
12
13
14 # Define a nested property.
15 class MyPropGroup(bpy.types.PropertyGroup):
16     nested: FloatProperty(name="Nested", default=0.0)
17
18
19 # Register it so its available for all bones.
20 bpy.utils.register_class(MyPropGroup)
21 bpy.types.Bone.my_prop = PointerProperty(
22     type=MyPropGroup,
23     name="MyProp",
24 )
25
26 # Get a bone.
27 obj = bpy.data.objects["Armature"]
28 arm = obj.data
29
30 # Set the keyframe at frame 1.
31 arm.bones["Bone"].my_prop.nested = 10
32 arm.keyframe_insert(
33     data_path='bones["Bone"].my_prop.nested',
34     frame=1,
35     group="Nested Group",
36 )