# ToolSettings(bpy_struct)

base class — `bpy_struct`

class `bpy.types.``ToolSettings`(bpy_struct)
  `auto_keying_mode`

    Mode of automatic keyframe insertion for Objects and Bones

    Type: | enum in [‘ADD_REPLACE_KEYS’, ‘REPLACE_KEYS’], default ‘ADD_REPLACE_KEYS’

  `double_threshold`

    Limit for removing duplicates and ‘Auto Merge’

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

  `edge_path_live_unwrap`

    Changing edges seam re-calculates UV unwrap

    Type: | boolean, default False

  `edge_path_mode`

    The edge flag to tag when selecting the shortest path

    Type: | enum in [‘SELECT’, ‘SEAM’, ‘SHARP’, ‘CREASE’, ‘BEVEL’, ‘FREESTYLE’], default ‘SELECT’

  `etch_adaptive_limit`

    Correlation threshold for number of bones in the subdivided stroke

    Type: | float in [1e-05, 1], default 0.0

  `etch_convert_mode`

    Method used to convert stroke to bones

    - `FIXED` Fixed, Subdivide stroke in fixed number of bones.
    - `LENGTH` Length, Subdivide stroke in bones of specific length.
    - `ADAPTIVE` Adaptive, Subdivide stroke adaptively, with more subdivision in curvier parts.
    - `RETARGET` Retarget, Retarget template bone chain to stroke.

    Type: | enum in [‘FIXED’, ‘LENGTH’, ‘ADAPTIVE’, ‘RETARGET’], default ‘FIXED’

  `etch_length_limit`

    Maximum length of the subdivided bones

    Type: | float in [1e-05, 100000], default 0.0

  `etch_number`

    Text to replace &N with (e.g. ‘Finger.&N’ -> ‘Finger.1’ or ‘Finger.One’)

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

  `etch_roll_mode`

    Method used to adjust the roll of bones when retargeting

    - `NONE` None, Don’t adjust roll.
    - `VIEW` View, Roll bones to face the view.
    - `JOINT` Joint, Roll bone to original joint plane offset.

    Type: | enum in [‘NONE’, ‘VIEW’, ‘JOINT’], default ‘NONE’

  `etch_side`

    Text to replace &S with (e.g. ‘Arm.&S’ -> ‘Arm.R’ or ‘Arm.Right’)

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

  `etch_subdivision_number`

    Number of bones in the subdivided stroke

    Type: | int in [1, 255], default 0

  `etch_template`

    Template armature that will be retargeted to the stroke

    Type: | `Object`

  `grease_pencil_source`

    Datablock where active Grease Pencil data is found from

    - `SCENE` Scene, Grease Pencil data attached to the current scene is used, unless the active object already has Grease Pencil data (i.e. for old files).
    - `OBJECT` Object, Grease Pencil data-blocks attached to the active object are used (required using pre 2.73 add-ons, e.g. BSurfaces).

    Type: | enum in [‘SCENE’, ‘OBJECT’], default ‘SCENE’

  `image_paint`

    Type: | `ImagePaint`, (readonly)

  `lock_markers`

    Prevent marker editing

    Type: | boolean, default False

  `mesh_select_mode`

    Which mesh elements selection works on

    Type: | boolean array of 3 items, default (False, False, False)

  `normal_size`

    Display size for normals in the 3D view

    Type: | float in [1e-05, 1000], default 0.0

  `particle_edit`

    Type: | `ParticleEdit`, (readonly)

  `proportional_edit`

    Proportional Editing mode, allows transforms with distance fall-off

    - `DISABLED` Disable, Proportional Editing disabled.
    - `ENABLED` Enable, Proportional Editing enabled.
    - `PROJECTED` Projected (2D), Proportional Editing using screen space locations.
    - `CONNECTED` Connected, Proportional Editing using connected geometry only.

    Type: | enum in [‘DISABLED’, ‘ENABLED’, ‘PROJECTED’, ‘CONNECTED’], default ‘DISABLED’

  `proportional_edit_falloff`

    Falloff type for proportional editing mode

    - `SMOOTH` Smooth, Smooth falloff.
    - `SPHERE` Sphere, Spherical falloff.
    - `ROOT` Root, Root falloff.
    - `INVERSE_SQUARE` Inverse Square, Inverse Square falloff.
    - `SHARP` Sharp, Sharp falloff.
    - `LINEAR` Linear, Linear falloff.
    - `CONSTANT` Constant, Constant falloff.
    - `RANDOM` Random, Random falloff.

    Type: | enum in [‘SMOOTH’, ‘SPHERE’, ‘ROOT’, ‘INVERSE_SQUARE’, ‘SHARP’, ‘LINEAR’, ‘CONSTANT’, ‘RANDOM’], default ‘SMOOTH’

  `proportional_size`

    Display size for proportional editing circle

    Type: | float in [1e-05, 5000], default 0.0

  `sculpt`

    Type: | `Sculpt`, (readonly)

  `show_uv_local_view`

    Draw only faces with the currently displayed image assigned

    Type: | boolean, default False

  `snap_element`

    Type of element to snap to

    - `INCREMENT` Increment, Snap to increments of grid.
    - `VERTEX` Vertex, Snap to vertices.
    - `EDGE` Edge, Snap to edges.
    - `FACE` Face, Snap to faces.
    - `VOLUME` Volume, Snap to volume.

    Type: | enum in [‘INCREMENT’, ‘VERTEX’, ‘EDGE’, ‘FACE’, ‘VOLUME’], default ‘INCREMENT’

  `snap_node_element`

    Type of element to snap to

    - `GRID` Grid, Snap to grid.
    - `NODE_X` Node X, Snap to left/right node border.
    - `NODE_Y` Node Y, Snap to top/bottom node border.
    - `NODE_XY` Node X / Y, Snap to any node border.

    Type: | enum in [‘GRID’, ‘NODE_X’, ‘NODE_Y’, ‘NODE_XY’], default ‘GRID’

  `snap_target`

    Which part to snap onto the target

    - `CLOSEST` Closest, Snap closest point onto target.
    - `CENTER` Center, Snap center onto target.
    - `MEDIAN` Median, Snap median onto target.
    - `ACTIVE` Active, Snap active onto target.

    Type: | enum in [‘CLOSEST’, ‘CENTER’, ‘MEDIAN’, ‘ACTIVE’], default ‘CLOSEST’

  `snap_uv_element`

    Type of element to snap to

    - `INCREMENT` Increment, Snap to increments of grid.
    - `VERTEX` Vertex, Snap to vertices.

    Type: | enum in [‘INCREMENT’, ‘VERTEX’], default ‘INCREMENT’

  `statvis`

    Type: | `MeshStatVis`, (readonly, never None)

  `unified_paint_settings`

    Type: | `UnifiedPaintSettings`, (readonly, never None)

  `use_auto_normalize`

    Ensure all bone-deforming vertex groups add up to 1.0 while weight painting

    Type: | boolean, default False

  `use_bone_sketching`

    Use sketching to create and edit bones

    Type: | boolean, default False

  `use_etch_autoname`

    Automatically generate values to replace &N and &S suffix placeholders in template names

    Type: | boolean, default False

  `use_etch_overdraw`

    Adjust strokes by drawing near them

    Type: | boolean, default False

  `use_etch_quick`

    Automatically convert and delete on stroke end

    Type: | boolean, default False

  `use_grease_pencil_sessions`

    Allow drawing multiple strokes at a time with Grease Pencil

    Type: | boolean, default False

  `use_keyframe_insert_auto`

    Automatic keyframe insertion for Objects and Bones

    Type: | boolean, default False

  `use_keyframe_insert_keyingset`

    Automatic keyframe insertion using active Keying Set only

    Type: | boolean, default False

  `use_mesh_automerge`

    Automatically merge vertices moved to the same location

    Type: | boolean, default False

  `use_multipaint`

    Paint across all selected bones while weight painting

    Type: | boolean, default False

  `use_proportional_action`

    Proportional editing in action editor

    Type: | boolean, default False

  `use_proportional_edit_mask`

    Proportional editing mask mode

    Type: | boolean, default False

  `use_proportional_edit_objects`

    Proportional editing object mode

    Type: | boolean, default False

  `use_proportional_fcurve`

    Proportional editing in FCurve editor

    Type: | boolean, default False

  `use_record_with_nla`

    Add a new NLA Track + Strip for every loop/pass made over the animation to allow non-destructive tweaking

    Type: | boolean, default False

  `use_snap`

    Snap during transform

    Type: | boolean, default False

  `use_snap_align_rotation`

    Align rotation with the snapping target

    Type: | boolean, default False

  `use_snap_grid_absolute`

    Absolute grid alignment while translating (based on the pivot center)

    Type: | boolean, default False

  `use_snap_peel_object`

    Consider objects as whole when finding volume center

    Type: | boolean, default False

  `use_snap_project`

    Project individual elements on the surface of other objects

    Type: | boolean, default False

  `use_snap_self`

    Snap onto itself (editmode)

    Type: | boolean, default False

  `use_uv_sculpt`

    Enable brush for UV sculpting

    Type: | boolean, default False

  `use_uv_select_sync`

    Keep UV and edit mode mesh selection in sync

    Type: | boolean, default False

  `uv_relax_method`

    Algorithm used for UV relaxation

    - `LAPLACIAN` Laplacian, Use Laplacian method for relaxation.
    - `HC` HC, Use HC method for relaxation.

    Type: | enum in [‘LAPLACIAN’, ‘HC’], default ‘LAPLACIAN’

  `uv_sculpt`

    Type: | `UvSculpt`, (readonly)

  `uv_sculpt_all_islands`

    Brush operates on all islands

    Type: | boolean, default False

  `uv_sculpt_lock_borders`

    Disable editing of boundary edges

    Type: | boolean, default False

  `uv_sculpt_tool`

    Select Tools for the UV sculpt brushes

    - `PINCH` Pinch, Pinch UVs.
    - `RELAX` Relax, Relax UVs.
    - `GRAB` Grab, Grab UVs.

    Type: | enum in [‘PINCH’, ‘RELAX’, ‘GRAB’], default ‘PINCH’

  `uv_select_mode`

    UV selection and display mode

    - `VERTEX` Vertex, Vertex selection mode.
    - `EDGE` Edge, Edge selection mode.
    - `FACE` Face, Face selection mode.
    - `ISLAND` Island, Island selection mode.

    Type: | enum in [‘VERTEX’, ‘EDGE’, ‘FACE’, ‘ISLAND’], default ‘VERTEX’

  `vertex_group_subset`

    Filter Vertex groups for Display

    - `ALL` All, All Vertex Groups.
    - `BONE_DEFORM` Deform, Vertex Groups assigned to Deform Bones.
    - `OTHER_DEFORM` Other, Vertex Groups assigned to non Deform Bones.

    Type: | enum in [‘ALL’, ‘BONE_DEFORM’, ‘OTHER_DEFORM’], default ‘ALL’

  `vertex_group_user`

    Display unweighted vertices (multi-paint overrides)

    - `NONE` None.
    - `ACTIVE` Active, Show vertices with no weights in the active group.
    - `ALL` All, Show vertices with no weights in any group.

    Type: | enum in [‘NONE’, ‘ACTIVE’, ‘ALL’], default ‘NONE’

  `vertex_group_weight`

    Weight to assign in vertex groups

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

  `vertex_paint`

    Type: | `VertexPaint`, (readonly)

  `weight_paint`

    Type: | `VertexPaint`, (readonly)

Inherited Properties

`bpy_struct.id_data` |

Inherited Functions

`bpy_struct.as_pointer` `bpy_struct.driver_add` `bpy_struct.driver_remove` `bpy_struct.get` `bpy_struct.is_property_hidden` `bpy_struct.is_property_readonly` `bpy_struct.is_property_set` `bpy_struct.items` | `bpy_struct.keyframe_delete` `bpy_struct.keyframe_insert` `bpy_struct.keys` `bpy_struct.path_from_id` `bpy_struct.path_resolve` `bpy_struct.property_unset` `bpy_struct.type_recast` `bpy_struct.values`

References

`Context.tool_settings` | `Scene.tool_settings`