user: What is GPencilSculptSettings(bpy_struct) and how is it used in Blender Python scripting?

assistant: # GPencilSculptSettings(bpy_struct)

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

*class* bpy.types.GPencilSculptSettings(*bpy_struct*)
:   General properties for Grease Pencil stroke sculpting tools

    guide
    :   Type:
        :   [`GPencilSculptGuide`](bpy.types.GPencilSculptGuide.html#bpy.types.GPencilSculptGuide "bpy.types.GPencilSculptGuide"), (readonly)

    intersection_threshold
    :   Threshold for stroke intersections

        Type:
        :   float in [0, 10], default 0.1

    lock_axis
    :   - `VIEW`
          View – Align strokes to current view plane.
        - `AXIS_Y`
          Front (X-Z) – Project strokes to plane locked to Y.
        - `AXIS_X`
          Side (Y-Z) – Project strokes to plane locked to X.
        - `AXIS_Z`
          Top (X-Y) – Project strokes to plane locked to Z.
        - `CURSOR`
          Cursor – Align strokes to current 3D cursor orientation.

        Type:
        :   enum in [`'VIEW'`, `'AXIS_Y'`, `'AXIS_X'`, `'AXIS_Z'`, `'CURSOR'`], default `'VIEW'`

    multiframe_falloff_curve
    :   Custom curve to control falloff of brush effect by Grease Pencil frames

        Type:
        :   [`CurveMapping`](bpy.types.CurveMapping.html#bpy.types.CurveMapping "bpy.types.CurveMapping"), (readonly)

    thickness_primitive_curve
    :   Custom curve to control primitive thickness

        Type:
        :   [`CurveMapping`](bpy.types.CurveMapping.html#bpy.types.CurveMapping "bpy.types.CurveMapping"), (readonly)

    use_automasking_layer_active
    :   Affect only the Active Layer

        Type:
        :   boolean, default False

    use_automasking_layer_stroke
    :   Affect only strokes below the cursor

        Type:
        :   boolean, default False

    use_automasking_material_active
    :   Affect only the Active Material

        Type:
        :   boolean, default False

    use_automasking_material_stroke
    :   Affect only strokes below the cursor

        Type:
        :   boolean, default False

    use_automasking_stroke
    :   Affect only strokes below the cursor

        Type:
        :   boolean, default False

    use_multiframe_falloff
    :   Use falloff effect when edit in multiframe mode to compute brush effect by frame

        Type:
        :   boolean, default False

    use_scale_thickness
    :   Scale the stroke thickness when transforming strokes

        Type:
        :   boolean, default False

    use_thickness_curve
    :   Use curve to define primitive stroke thickness

        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