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

assistant: # BrushCurvesSculptSettings(bpy_struct)

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

*class* bpy.types.BrushCurvesSculptSettings(*bpy_struct*)
:   add_amount
    :   Number of curves added by the Add brush

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

    curve_length
    :   Length of newly added curves when it is not interpolated from other curves

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

    curve_parameter_falloff
    :   Falloff that is applied from the tip to the root of each curve

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

    curve_radius
    :   Radius of newly added curves when it is not interpolated from other curves

        Type:
        :   float in [0, inf], default 0.01

    density_add_attempts
    :   How many times the Density brush tries to add a new curve

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

    density_mode
    :   Determines whether the brush adds or removes curves

        - `AUTO`
          Auto – Either add or remove curves depending on the minimum distance of the curves under the cursor.
        - `ADD`
          Add – Add new curves between existing curves, taking the minimum distance into account.
        - `REMOVE`
          Remove – Remove curves whose root points are too close.

        Type:
        :   enum in [`'AUTO'`, `'ADD'`, `'REMOVE'`], default `'AUTO'`

    minimum_distance
    :   Goal distance between curve roots for the Density brush

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

    minimum_length
    :   Avoid shrinking curves shorter than this length

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

    points_per_curve
    :   Number of control points in a newly added curve

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

    use_length_interpolate
    :   Use length of the curves in close proximity

        Type:
        :   boolean, default False

    use_point_count_interpolate
    :   Use the number of points from the curves in close proximity

        Type:
        :   boolean, default False

    use_radius_interpolate
    :   Use radius of the curves in close proximity

        Type:
        :   boolean, default True

    use_shape_interpolate
    :   Use shape of the curves in close proximity

        Type:
        :   boolean, default False

    use_uniform_scale
    :   Grow or shrink curves by changing their size uniformly instead of using trimming or extrapolation

        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