user: Explain NlaStrip(bpy_struct) in complete detail according to the official Blender documentation.

assistant: # NlaStrip(bpy_struct)

base class — [`bpy_struct`](bpy.types.bpy_struct.html#bpy.types.bpy_struct "bpy.types.bpy_struct")

*class* bpy.types.NlaStrip(*bpy_struct*)
:   A container referencing an existing Action

    action
    :   Action referenced by this strip

        Type:
        :   [`Action`](bpy.types.Action.html#bpy.types.Action "bpy.types.Action")

    action_frame_end
    :   Last frame from action to use

        Type:
        :   float in [-inf, inf], default 0.0

    action_frame_start
    :   First frame from action to use

        Type:
        :   float in [-inf, inf], default 0.0

    action_slot
    :   The slot identifies which sub-set of the Action is considered to be for this strip, and its name is used to find the right slot when assigning another Action

        Type:
        :   [`ActionSlot`](bpy.types.ActionSlot.html#bpy.types.ActionSlot "bpy.types.ActionSlot")

    action_slot_handle
    :   A number that identifies which sub-set of the Action is considered to be for this NLA strip

        Type:
        :   int in [-inf, inf], default 0

    action_suitable_slots
    :   The list of action slots suitable for this NLA strip

        Type:
        :   [`bpy_prop_collection`](bpy.types.bpy_prop_collection.html#bpy.types.bpy_prop_collection "bpy.types.bpy_prop_collection") of [`ActionSlot`](bpy.types.ActionSlot.html#bpy.types.ActionSlot "bpy.types.ActionSlot"), (readonly)

    active
    :   NLA Strip is active

        Type:
        :   boolean, default False, (readonly)

    blend_in
    :   Number of frames at start of strip to fade in influence

        Type:
        :   float in [-inf, inf], default 0.0

    blend_out
    :   Type:
        :   float in [-inf, inf], default 0.0

    blend_type
    :   Method used for combining strip’s result with accumulated result

        - `REPLACE`
          Replace – The strip values replace the accumulated results by amount specified by influence.
        - `COMBINE`
          Combine – The strip values are combined with accumulated results by appropriately using addition, multiplication, or quaternion math, based on channel type.
        - `ADD`
          Add – Weighted result of strip is added to the accumulated results.
        - `SUBTRACT`
          Subtract – Weighted result of strip is removed from the accumulated results.
        - `MULTIPLY`
          Multiply – Weighted result of strip is multiplied with the accumulated results.

        Type:
        :   enum in [`'REPLACE'`, `'COMBINE'`, `'ADD'`, `'SUBTRACT'`, `'MULTIPLY'`], default `'REPLACE'`

    extrapolation
    :   Action to take for gaps past the strip extents

        - `NOTHING`
          Nothing – Strip has no influence past its extents.
        - `HOLD`
          Hold – Hold the first frame if no previous strips in track, and always hold last frame.
        - `HOLD_FORWARD`
          Hold Forward – Only hold last frame.

        Type:
        :   enum in [`'NOTHING'`, `'HOLD'`, `'HOLD_FORWARD'`], default `'HOLD'`

    fcurves
    :   F-Curves for controlling the strip’s influence and timing

        Type:
        :   [`NlaStripFCurves`](bpy.types.NlaStripFCurves.html#bpy.types.NlaStripFCurves "bpy.types.NlaStripFCurves") [`bpy_prop_collection`](bpy.types.bpy_prop_collection.html#bpy.types.bpy_prop_collection "bpy.types.bpy_prop_collection") of [`FCurve`](bpy.types.FCurve.html#bpy.types.FCurve "bpy.types.FCurve"), (readonly)

    frame_end
    :   Type:
        :   float in [-inf, inf], default 0.0

    frame_end_raw
    :   Same as frame_end, except that any value can be set, including ones that create an invalid state

        Type:
        :   float in [-inf, inf], default 0.0

    frame_end_ui
    :   End frame of the NLA strip. Note: changing this value also updates the value of the strip’s repeats or its action’s end frame. If only the end frame should be changed, see the “frame_end” property instead.

        Type:
        :   float in [-inf, inf], default 0.0

    frame_start
    :   Type:
        :   float in [-inf, inf], default 0.0

    frame_start_raw
    :   Same as frame_start, except that any value can be set, including ones that create an invalid state

        Type:
        :   float in [-inf, inf], default 0.0

    frame_start_ui
    :   Start frame of the NLA strip. Note: changing this value also updates the value of the strip’s end frame. If only the start frame should be changed, see the “frame_start” property instead.

        Type:
        :   float in [-inf, inf], default 0.0

    influence
    :   Amount the strip contributes to the current result

        Type:
        :   float in [0, 1], default 0.0

    last_slot_identifier
    :   The identifier of the most recently assigned action slot. The slot identifies which sub-set of the Action is considered to be for this strip, and its identifier is used to find the right slot when assigning an Action.

        Type:
        :   string, default “”, (never None)

    modifiers
    :   Modifiers affecting all the F-Curves in the referenced Action

        Type:
        :   [`bpy_prop_collection`](bpy.types.bpy_prop_collection.html#bpy.types.bpy_prop_collection "bpy.types.bpy_prop_collection") of [`FModifier`](bpy.types.FModifier.html#bpy.types.FModifier "bpy.types.FModifier"), (readonly)

    mute
    :   Disable NLA Strip evaluation

        Type:
        :   boolean, default False

    name
    :   Type:
        :   string, default “”, (never None)

    repeat
    :   Number of times to repeat the action range

        Type:
        :   float in [0.1, 1000], default 1.0

    scale
    :   Scaling factor for action

        Type:
        :   float in [0.0001, 1000], default 1.0

    select
    :   NLA Strip is selected

        Type:
        :   boolean, default False

    strip_time
    :   Frame of referenced Action to evaluate

        Type:
        :   float in [-inf, inf], default 0.0

    strips
    :   NLA Strips that this strip acts as a container for (if it is of type Meta)

        Type:
        :   [`bpy_prop_collection`](bpy.types.bpy_prop_collection.html#bpy.types.bpy_prop_collection "bpy.types.bpy_prop_collection") of [`NlaStrip`](#bpy.types.NlaStrip "bpy.types.NlaStrip"), (readonly)

    type
    :   Type of NLA Strip

        - `CLIP`
          Action Clip – NLA Strip references some Action.
        - `TRANSITION`
          Transition – NLA Strip ‘transitions’ between adjacent strips.
        - `META`
          Meta – NLA Strip acts as a container for adjacent strips.
        - `SOUND`
          Sound Clip – NLA Strip representing a sound event for speakers.

        Type:
        :   enum in [`'CLIP'`, `'TRANSITION'`, `'META'`, `'SOUND'`], default `'CLIP'`, (readonly)

    use_animated_influence
    :   Influence setting is controlled by an F-Curve rather than automatically determined

        Type:
        :   boolean, default False

    use_animated_time
    :   Strip time is controlled by an F-Curve rather than automatically determined

        Type:
        :   boolean, default False

    use_animated_time_cyclic
    :   Cycle the animated time within the action start and end

        Type:
        :   boolean, default False

    use_auto_blend
    :   Number of frames for Blending In/Out is automatically determined from overlapping strips

        Type:
        :   boolean, default False

    use_reverse
    :   NLA Strip is played back in reverse order (only when timing is automatically determined)

        Type:
        :   boolean, default False

    use_sync_length
    :   Update range of frames referenced from action after tweaking strip and its keyframes

        Type:
        :   boolean, default False

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

        Returns:
        :   The RNA type or default when not found.

        Return type:
        :   [`bpy.types.Struct`](bpy.types.Struct.html#bpy.types.Struct "bpy.types.Struct") subclass

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

        Returns:
        :   The class or default when not found.

        Return type:
        :   [type](#bpy.types.NlaStrip.type "bpy.types.NlaStrip.type")