user: Show practical ways to work with Options in a Blender add-on or script – include code.

assistant: [image reference removed]

The Motion Paths panel in the Armature tab.

Paths Type
:   Type of range to show for Motion Paths.

    Around Frame:
    :   Display paths of points within a fixed number of frames around the current frame.
        When you enable this button, you get paths for a given number of frames before and after the current one

    In Range:
    :   Display paths of points within specified range.

Calculation Range
:   The range of the motion path. Only active when *Paths Type* is set to
    *In Range*. Changing this option only takes effect when updating the path, via
    the *Update Path* or *Update All Paths* buttons.

    All Keys:
    :   Generate a motion path ranging from the first keyframe to the last. Only
        the keys of the active object / bone are considered.

    Selected Keys:
    :   Same as *All Keys* except that it ranges from the first to the last
        *selected* keyframe.

    Scene Frame Range:
    :   Use the start & end frames of the scene, or the
        [preview range](../editors/graph_editor/introduction.xhtml#graph-preview-range) if active.

    Manual Range:
    :   Manually set the start and end frame.

Frame Range Start, End
:   Starting and Ending frame of range of paths to display/calculate
    (not for the *Around Frame* type).

    Although the start and end frame are always editable, updating the motion
    path will change these according to the *Calculation Range* setting. To
    ensure your chosen frame range is maintained, choose *Manual Range* there.

Frame Range Before, After
:   Number of frames to show before and after the current frame
    (only for the *Around Frame* type).

Step
:   Allows displaying one point for every *n* frames on the path.
    Mostly useful when you enable the frame number display (see below), to avoid cluttering the 3D Viewport.

Bake to Active Camera
:   When enabled the motion path is calculated in screen space for the active scene camera.
    Note that the resulting motion path will only be useful for that single camera.
    Switching cameras using markers is not supported. It will only bake to the camera
    that is active when the bake was started.

Cache/Bone Cache From, To
:   These are the start/end frames of the range in which motion paths are shown.
    You cannot modify this range without deleting the motion path first.

Calculate
:   If no paths have been calculated, Calculate Paths will create a new motion path in cache based on
    the options specified in the pop-up menu or the [Adjust Last Operation](../interface/undo_redo.xhtml#bpy-ops-screen-redo-last) panel.
    Note, if the current context is an Armature calculating the objects motion paths, and not the bones,
    this operator will calculate the motion paths for all the bones within the armature as well.

    Start, End
    :   These are the start/end frames of the range in which motion paths are shown.
        The start frame is *inclusive*, so if you set *Start* to 1,
        you will really see the frame 1 as starting point of the paths…

    Bake Location
    :   Which point on the bones is used when calculating paths.
        Only available for bones while in Pose Mode.

        Heads:
        :   Calculates the path position of the bone’s heads.

        Tails:
        :   Calculates the path position of the bone’s heads.

Update Paths
:   In the case a path has already been calculated, this operator will update the path shape to the current animation.
    To change the frame range of the calculated path, you need to delete the path and calculate it again.

    (Clear Paths)
    :   Clears paths on all objects/bones or just the selected ones when holding `Shift`.

Update All Paths
:   Recalculates the motion paths for all visible objects and poses.

### Display

Frame Numbers
:   When enabled, a small number appears next to each frame dot on the path,
    which is of course the number of the corresponding frame.

Keyframes
:   When enabled, big yellow square dots are displayed on motion paths, showing the keyframes of their bones
    (i.e. only the paths of keyed bones at a given frame get a yellow dot at this frame).

+ Non-Grouped Keyframes
:   For bone motion paths, it searches the whole Action for keyframes instead of
    in groups with matching name only (this is slower).

Keyframe Numbers
:   When enabled, you will see the numbers of the displayed keyframes,
    so this option is obviously only valid when *Show Keys* is enabled.

Lines
:   Toggles whether the lines between the points are shown.

Thickness
:   Line thickness for motion path.

Custom Color
:   Use custom color for this motion path. The custom color can be modified for time
    before and after the current frame.