ToolSettings(bpy_struct)
base class — bpy_struct
- class bpy.types.ToolSettings(bpy_struct)
- annotation_stroke_placement_view2d
IMAGE
Image – Stick stroke to the image.VIEW
View – Stick stroke to the view.
- Type:
enum in [‘IMAGE’, ‘VIEW’], default ‘VIEW’
- annotation_stroke_placement_view3d
How annotation strokes are orientated in 3D space
CURSOR
3D Cursor – Draw stroke at 3D cursor location.VIEW
View – Stick stroke to the view.SURFACE
Surface – Stick stroke to surfaces.
- Type:
enum in [‘CURSOR’, ‘VIEW’, ‘SURFACE’], default ‘CURSOR’
- annotation_thickness
Thickness of annotation strokes
- Type:
int in [1, 10], default 3
- auto_keying_mode
Mode of automatic keyframe insertion for Objects, Bones and Masks
- Type:
enum in [‘ADD_REPLACE_KEYS’, ‘REPLACE_KEYS’], default ‘ADD_REPLACE_KEYS’
- curve_paint_settings
- Type:
CurvePaintSettings
, (readonly, never None)
- curves_sculpt
- Type:
CurvesSculpt
, (readonly)
- custom_bevel_profile_preset
Used for defining a profile’s path
- Type:
CurveProfile
, (readonly)
- double_threshold
Threshold distance for Auto Merge
- Type:
float in [0, 1], default 0.001
- gpencil_interpolate
Settings for Grease Pencil Interpolation tools
- Type:
GPencilInterpolateSettings
, (readonly)
- gpencil_sculpt
Settings for stroke sculpting tools and brushes
- Type:
GPencilSculptSettings
, (readonly)
- gpencil_sculpt_paint
- Type:
GpSculptPaint
, (readonly)
- gpencil_selectmode_edit
- Type:
enum in Grease Pencil Selectmode Items, default ‘POINT’
- gpencil_stroke_placement_view3d
ORIGIN
Origin – Draw stroke at Object origin.CURSOR
3D Cursor – Draw stroke at 3D cursor location.SURFACE
Surface – Stick stroke to surfaces.STROKE
Stroke – Stick stroke to other strokes.
- Type:
enum in [‘ORIGIN’, ‘CURSOR’, ‘SURFACE’, ‘STROKE’], default ‘ORIGIN’
- gpencil_stroke_snap_mode
NONE
All Points – Snap to all points.ENDS
End Points – Snap to first and last points and interpolate.FIRST
First Point – Snap to first point.
- Type:
enum in [‘NONE’, ‘ENDS’, ‘FIRST’], default ‘NONE’
- gpencil_vertex_paint
- Type:
GpVertexPaint
, (readonly)
- gpencil_weight_paint
- Type:
GpWeightPaint
, (readonly)
- image_paint
- Type:
ImagePaint
, (readonly)
- keyframe_type
Type of keyframes to create when inserting keyframes
- Type:
enum in Beztriple Keyframe Type Items, default ‘KEYFRAME’
- lock_markers
Prevent marker editing
- Type:
boolean, default False
- lock_object_mode
Restrict selection to objects using the same mode as the active object, to prevent accidental mode switch when selecting
- Type:
boolean, default True
- mesh_select_mode
Which mesh elements selection works on
- Type:
boolean array of 3 items, default (True, True, True)
- normal_vector
Normal Vector used to copy, add or multiply
- Type:
mathutils.Vector
of 3 items in [-inf, inf], default (0.0, 0.0, 0.0)
- paint_mode
- Type:
PaintModeSettings
, (readonly)
- particle_edit
- Type:
ParticleEdit
, (readonly)
- plane_axis
The axis used for placing the base region
- Type:
enum in Axis Xyz Items, default ‘Z’
- plane_axis_auto
Select the closest axis when placing objects (surface overrides)
- Type:
boolean, default True
- plane_depth
The initial depth used when placing the cursor
SURFACE
Surface – Start placing on the surface, using the 3D cursor position as a fallback.CURSOR_PLANE
Cursor Plane – Start placement using a point projected onto the orientation axis at the 3D cursor position.CURSOR_VIEW
Cursor View – Start placement using a point projected onto the view plane at the 3D cursor position.
- Type:
enum in [‘SURFACE’, ‘CURSOR_PLANE’, ‘CURSOR_VIEW’], default ‘SURFACE’
- plane_orientation
The initial depth used when placing the cursor
SURFACE
Surface – Use the surface normal (using the transform orientation as a fallback).DEFAULT
Default – Use the current transform orientation.
- Type:
enum in [‘SURFACE’, ‘DEFAULT’], default ‘SURFACE’
- proportional_distance
Display size for proportional editing circle
- Type:
float in [1e-05, 5000], default 1.0
- proportional_edit_falloff
Falloff type for proportional editing mode
- Type:
enum in Proportional Falloff Items, default ‘SMOOTH’
- proportional_size
Display size for proportional editing circle
- Type:
float in [1e-05, 5000], default 1.0
- sequencer_tool_settings
- Type:
SequencerToolSettings
, (readonly, never None)
- show_uv_local_view
Display only faces with the currently displayed image assigned
- Type:
boolean, default False
- snap_anim_element
Type of element to snap to
- Type:
enum in Snap Animation Element Items, default ‘FRAME’
- snap_elements
Type of element to snap to
- Type:
enum set in Snap Element Items, default {‘INCREMENT’}
- snap_elements_base
Type of element for the ‘Snap With’ to snap to
INCREMENT
Increment – Snap to increments.VERTEX
Vertex – Snap to vertices.EDGE
Edge – Snap to edges.FACE
Face – Snap by projecting onto faces.VOLUME
Volume – Snap to volume.EDGE_MIDPOINT
Edge Center – Snap to the middle of edges.EDGE_PERPENDICULAR
Edge Perpendicular – Snap to the nearest point on an edge.
- Type:
enum set in {‘INCREMENT’, ‘VERTEX’, ‘EDGE’, ‘FACE’, ‘VOLUME’, ‘EDGE_MIDPOINT’, ‘EDGE_PERPENDICULAR’}, default {‘INCREMENT’}
- snap_elements_individual
Type of element for individual transformed elements to snap to
FACE_PROJECT
Face Project – Snap by projecting onto faces.FACE_NEAREST
Face Nearest – Snap to nearest point on faces.
- Type:
enum set in {‘FACE_PROJECT’, ‘FACE_NEAREST’}, default {‘FACE_PROJECT’}
- snap_elements_tool
The target to use while snapping
GEOMETRY
Geometry – Snap to all geometry.DEFAULT
Default – Use the current snap settings.
- Type:
enum in [‘GEOMETRY’, ‘DEFAULT’], default ‘GEOMETRY’
- snap_face_nearest_steps
Number of steps to break transformation into for face nearest snapping
- Type:
int in [1, 100], default 1
- snap_node_element
Type of element to snap to
- Type:
enum in Snap Node Element Items, default ‘GRID’
- snap_target
Which part to snap onto the target
- Type:
enum in Snap Source Items, 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)
- transform_pivot_point
Pivot center for rotation/scaling
BOUNDING_BOX_CENTER
Bounding Box Center – Pivot around bounding box center of selected object(s).CURSOR
3D Cursor – Pivot around the 3D cursor.INDIVIDUAL_ORIGINS
Individual Origins – Pivot around each object’s own origin.MEDIAN_POINT
Median Point – Pivot around the median point of selected objects.ACTIVE_ELEMENT
Active Element – Pivot around active object.
- Type:
enum in [‘BOUNDING_BOX_CENTER’, ‘CURSOR’, ‘INDIVIDUAL_ORIGINS’, ‘MEDIAN_POINT’, ‘ACTIVE_ELEMENT’], default ‘MEDIAN_POINT’
- 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_edge_path_live_unwrap
Changing edge seams recalculates UV unwrap
- Type:
boolean, default False
- use_gpencil_automerge_strokes
Join by distance last drawn stroke with previous strokes in the active layer
- Type:
boolean, default False
- use_gpencil_draw_additive
When creating new frames, the strokes from the previous/active frame are included as the basis for the new one
- Type:
boolean, default False
- use_gpencil_draw_onback
When draw new strokes, the new stroke is drawn below of all strokes in the layer
- Type:
boolean, default False
- use_gpencil_select_mask_point
Only sculpt selected stroke points
- Type:
boolean, default False
- use_gpencil_select_mask_segment
Only sculpt selected stroke points between other strokes
- Type:
boolean, default False
- use_gpencil_select_mask_stroke
Only sculpt selected stroke
- Type:
boolean, default False
- use_gpencil_stroke_endpoints
Only use the first and last parts of the stroke for snapping
- Type:
boolean, default False
- use_gpencil_thumbnail_list
Show compact list of color instead of thumbnails
- Type:
boolean, default False
- use_gpencil_vertex_select_mask_point
Only paint selected stroke points
- Type:
boolean, default False
- use_gpencil_vertex_select_mask_segment
Only paint selected stroke points between other strokes
- Type:
boolean, default False
- use_gpencil_vertex_select_mask_stroke
Only paint selected stroke
- Type:
boolean, default False
- use_gpencil_weight_data_add
When creating new strokes, the weight data is added according to the current vertex group and weight, if no vertex group selected, weight is not added
- Type:
boolean, default False
- use_keyframe_cycle_aware
For channels with cyclic extrapolation, keyframe insertion is automatically remapped inside the cycle time range, and keeps ends in sync. Curves newly added to actions with a Manual Frame Range and Cyclic Animation are automatically made cyclic
- Type:
boolean, default False
- use_keyframe_insert_auto
Automatic keyframe insertion for Objects, Bones and Masks
- Type:
boolean, default True
- use_keyframe_insert_keyingset
Automatic keyframe insertion using active Keying Set only
- Type:
boolean, default False
- use_lock_relative
Display bone-deforming groups as if all locked deform groups were deleted, and the remaining ones were re-normalized
- Type:
boolean, default False
- use_mesh_automerge
Automatically merge vertices moved to the same location
- Type:
boolean, default False
- use_mesh_automerge_and_split
Automatically split edges and faces
- Type:
boolean, default False
- use_multipaint
Paint across the weights of all selected bones, maintaining their relative influence
- Type:
boolean, default False
- use_proportional_action
Proportional editing in action editor
- Type:
boolean, default False
- use_proportional_connected
Proportional Editing using connected geometry only
- Type:
boolean, default False
- use_proportional_edit
Proportional edit mode
- 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 F-Curve editor
- Type:
boolean, default False
- use_proportional_projected
Proportional Editing using screen space locations
- 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_anim
Enable snapping when transforming keyframes
- Type:
boolean, default True
- use_snap_backface_culling
Exclude back facing geometry from snapping
- Type:
boolean, default False
- use_snap_edit
Snap onto non-active objects in Edit Mode (Edit Mode Only)
- Type:
boolean, default True
- use_snap_grid_absolute
Absolute grid alignment while translating (based on the pivot center)
- Type:
boolean, default False
- use_snap_node
Snap Node during transform
- Type:
boolean, default False
- use_snap_nonedit
Snap onto objects not in Edit Mode (Edit Mode Only)
- Type:
boolean, default True
- use_snap_peel_object
Consider objects as whole when finding volume center
- Type:
boolean, default False
- use_snap_rotate
Rotate is affected by the snapping settings
- Type:
boolean, default False
- use_snap_scale
Scale is affected by snapping settings
- Type:
boolean, default False
- use_snap_selectable
Snap only onto objects that are selectable
- Type:
boolean, default False
- use_snap_self
Snap onto itself only if enabled (Edit Mode Only)
- Type:
boolean, default False
- use_snap_sequencer
Snap to strip edges or current frame
- Type:
boolean, default True
- use_snap_time_absolute
Absolute time alignment while translating
- Type:
boolean, default False
- use_snap_to_same_target
Snap only to target that source was initially near (Face Nearest Only)
- Type:
boolean, default False
- use_snap_translate
Move is affected by snapping settings
- Type:
boolean, default True
- use_snap_uv
Snap UV during transform
- Type:
boolean, default False
- use_snap_uv_grid_absolute
Absolute grid alignment while translating (based on the pivot center)
- Type:
boolean, default False
- use_transform_correct_face_attributes
Correct data such as UVs and color attributes when transforming
- Type:
boolean, default False
- use_transform_correct_keep_connected
During the Face Attributes correction, merge attributes connected to the same vertex
- Type:
boolean, default False
- use_transform_data_origin
Transform object origins, while leaving the shape in place
- Type:
boolean, default False
- use_transform_pivot_point_align
Only transform object locations, without affecting rotation or scaling
- Type:
boolean, default False
- use_transform_skip_children
Transform the parents, leaving the children in place
- 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.COTAN
Geometry – Use Geometry (cotangent) relaxation, making UVs follow the underlying 3D geometry.
- Type:
enum in [‘LAPLACIAN’, ‘HC’, ‘COTAN’], default ‘LAPLACIAN’
- 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_select_mode
UV selection and display mode
- Type:
enum in Mesh Select Mode Uv Items, default ‘VERTEX’
- uv_sticky_select_mode
Method for extending UV vertex selection
DISABLED
Disabled – Sticky vertex selection disabled.SHARED_LOCATION
Shared Location – Select UVs that are at the same location and share a mesh vertex.SHARED_VERTEX
Shared Vertex – Select UVs that share a mesh vertex, whether or not they are at the same location.
- Type:
enum in [‘DISABLED’, ‘SHARED_LOCATION’, ‘SHARED_VERTEX’], default ‘SHARED_LOCATION’
- 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
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 1.0
- vertex_paint
- Type:
VertexPaint
, (readonly)
- weight_paint
- Type:
VertexPaint
, (readonly)
- workspace_tool_type
Action when dragging in the viewport
- Type:
enum in [‘DEFAULT’, ‘FALLBACK’], default ‘FALLBACK’
- classmethod bl_rna_get_subclass(id, default=None)
- Parameters:
id (string) – The RNA type identifier.
- Returns:
The RNA type or default when not found.
- Return type:
bpy.types.Struct
subclass
- classmethod bl_rna_get_subclass_py(id, default=None)
- Parameters:
id (string) – The RNA type identifier.
- Returns:
The class or default when not found.
- Return type:
type
Inherited Properties
Inherited Functions
References