Brush(ID)

base classes — bpy_struct, ID

class bpy.types.Brush(ID)

Brush data-block for storing brush settings for painting and sculpting

area_radius_factor

Ratio between the brush radius and the radius that is going to be used to sample the area center

Type:float in [0, 2], default 0.5
auto_smooth_factor

Amount of smoothing to automatically apply to each stroke

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

Distance where boundary edge automasking is going to protect vertices from the fully masked edge

Type:int in [1, 20], default 1
blend

Brush blending mode

  • MIX Mix, Use Mix blending mode while painting.
  • DARKEN Darken, Use Darken blending mode while painting.
  • MUL Multiply, Use Multiply blending mode while painting.
  • COLORBURN Color Burn, Use Color Burn blending mode while painting.
  • LINEARBURN Linear Burn, Use Linear Burn blending mode while painting.
  • LIGHTEN Lighten, Use Lighten blending mode while painting.
  • SCREEN Screen, Use Screen blending mode while painting.
  • COLORDODGE Color Dodge, Use Color Dodge blending mode while painting.
  • ADD Add, Use Add blending mode while painting.
  • OVERLAY Overlay, Use Overlay blending mode while painting.
  • SOFTLIGHT Soft Light, Use Soft Light blending mode while painting.
  • HARDLIGHT Hard Light, Use Hard Light blending mode while painting.
  • VIVIDLIGHT Vivid Light, Use Vivid Light blending mode while painting.
  • LINEARLIGHT Linear Light, Use Linear Light blending mode while painting.
  • PINLIGHT Pin Light, Use Pin Light blending mode while painting.
  • DIFFERENCE Difference, Use Difference blending mode while painting.
  • EXCLUSION Exclusion, Use Exclusion blending mode while painting.
  • SUB Subtract, Use Subtract blending mode while painting.
  • HUE Hue, Use Hue blending mode while painting.
  • SATURATION Saturation, Use Saturation blending mode while painting.
  • COLOR Color, Use Color blending mode while painting.
  • LUMINOSITY Value, Use Value blending mode while painting.
  • ERASE_ALPHA Erase Alpha, Erase alpha while painting.
  • ADD_ALPHA Add Alpha, Add alpha while painting.
Type:enum in [‘MIX’, ‘DARKEN’, ‘MUL’, ‘COLORBURN’, ‘LINEARBURN’, ‘LIGHTEN’, ‘SCREEN’, ‘COLORDODGE’, ‘ADD’, ‘OVERLAY’, ‘SOFTLIGHT’, ‘HARDLIGHT’, ‘VIVIDLIGHT’, ‘LINEARLIGHT’, ‘PINLIGHT’, ‘DIFFERENCE’, ‘EXCLUSION’, ‘SUB’, ‘HUE’, ‘SATURATION’, ‘COLOR’, ‘LUMINOSITY’, ‘ERASE_ALPHA’, ‘ADD_ALPHA’], default ‘MIX’
blur_kernel_radius

Radius of kernel used for soften and sharpen in pixels

Type:int in [1, 10000], default 2
blur_mode
Type:enum in [‘BOX’, ‘GAUSSIAN’], default ‘GAUSSIAN’
brush_capabilities

Brush’s capabilities

Type:BrushCapabilities, (readonly, never None)
clone_alpha

Opacity of clone image display

Type:float in [0, 1], default 0.5
clone_image

Image for clone tool

Type:Image
clone_offset
Type:float array of 2 items in [-inf, inf], default (0.0, 0.0)
cloth_damping

How much the applied forces are propagated through the cloth

Type:float in [0.01, 1], default 0.01
cloth_deform_type

Deformation type that is used in the brush

Type:enum in [‘DRAG’, ‘PUSH’, ‘PINCH_POINT’, ‘PINCH_PERPENDICULAR’, ‘INFLATE’, ‘GRAB’, ‘EXPAND’], default ‘DRAG’
cloth_force_falloff_type

Shape used in the brush to apply force to the cloth

Type:enum in [‘RADIAL’, ‘PLANE’], default ‘RADIAL’
cloth_mass

Mass of each simulation particle

Type:float in [0.01, 2], default 1.0
cloth_sim_falloff

Area to apply deformation falloff to the effects of the simulation

Type:float in [0, 1], default 0.75
cloth_sim_limit

Factor added relative to the size of the radius to limit the cloth simulation effects

Type:float in [0.1, 10], default 2.5
color
Type:float array of 3 items in [0, 1], default (1.0, 1.0, 1.0)
color_type

Use single color or gradient when painting

  • COLOR Color, Paint with a single color.
  • GRADIENT Gradient, Paint with a gradient.
Type:enum in [‘COLOR’, ‘GRADIENT’], default ‘COLOR’
crease_pinch_factor

How much the crease brush pinches

Type:float in [0, 1], default 0.5
cursor_color_add

Color of cursor when adding

Type:float array of 4 items in [0, inf], default (1.0, 0.39, 0.39, 0.9)
cursor_color_subtract

Color of cursor when subtracting

Type:float array of 4 items in [0, inf], default (0.39, 0.39, 1.0, 0.9)
cursor_overlay_alpha
Type:int in [0, 100], default 33
curve

Editable falloff curve

Type:CurveMapping, (readonly, never None)
curve_preset
Type:enum in [‘CUSTOM’, ‘SMOOTH’, ‘SMOOTHER’, ‘SPHERE’, ‘ROOT’, ‘SHARP’, ‘LIN’, ‘POW4’, ‘INVSQUARE’, ‘CONSTANT’], default ‘CUSTOM’
dash_ratio

Ratio of samples in a cycle that the brush is enabled

Type:float in [0, 1], default 1.0
dash_samples

Length of a dash cycle measured in stroke samples

Type:int in [1, 10000], default 20
direction
  • ADD Add, Add effect of brush.
  • SUBTRACT Subtract, Subtract effect of brush.
Type:enum in [‘ADD’, ‘SUBTRACT’], default ‘ADD’
elastic_deform_type

Deformation type that is used in the brush

Type:enum in [‘GRAB’, ‘GRAB_BISCALE’, ‘GRAB_TRISCALE’, ‘SCALE’, ‘TWIST’], default ‘GRAB’
elastic_deform_volume_preservation

Poisson ratio for elastic deformation. Higher values preserve volume more, but also lead to more bulging

Type:float in [0, 0.9], default 0.0
falloff_angle

Paint most on faces pointing towards the view according to this angle

Type:float in [0, 1.5708], default 0.0
falloff_shape

Use projected or spherical falloff

  • SPHERE Sphere, Apply brush influence in a Sphere, outwards from the center.
  • PROJECTED Projected, Apply brush influence in a 2D circle, projected from the view.
Type:enum in [‘SPHERE’, ‘PROJECTED’], default ‘SPHERE’
fill_threshold

Threshold above which filling is not propagated

Type:float in [0, 100], default 0.2
gpencil_sculpt_tool
  • SMOOTH Smooth, Smooth stroke points.
  • THICKNESS Thickness, Adjust thickness of strokes.
  • STRENGTH Strength, Adjust color strength of strokes.
  • RANDOMIZE Randomize, Introduce jitter/randomness into strokes.
  • GRAB Grab, Translate the set of points initially within the brush circle.
  • PUSH Push, Move points out of the way, as if combing them.
  • TWIST Twist, Rotate points around the midpoint of the brush.
  • PINCH Pinch, Pull points towards the midpoint of the brush.
  • CLONE Clone, Paste copies of the strokes stored on the clipboard.
Type:enum in [‘SMOOTH’, ‘THICKNESS’, ‘STRENGTH’, ‘RANDOMIZE’, ‘GRAB’, ‘PUSH’, ‘TWIST’, ‘PINCH’, ‘CLONE’], default ‘SMOOTH’
gpencil_settings
Type:BrushGpencilSettings, (readonly)
gpencil_tool
  • DRAW Draw, The brush is of type used for drawing strokes.
  • FILL Fill, The brush is of type used for filling areas.
  • ERASE Erase, The brush is used for erasing strokes.
  • TINT Tint, The brush is of type used for tinting strokes.
Type:enum in [‘DRAW’, ‘FILL’, ‘ERASE’, ‘TINT’], default ‘DRAW’
gpencil_vertex_tool
Type:enum in [‘DRAW’, ‘BLUR’, ‘AVERAGE’, ‘SMEAR’, ‘REPLACE’], default ‘DRAW’
gpencil_weight_tool
  • WEIGHT Weight, Weight Paint for Vertex Groups.
Type:enum in [‘WEIGHT’], default ‘WEIGHT’
grad_spacing

Spacing before brush gradient goes full circle

Type:int in [1, 10000], default 0
gradient
Type:ColorRamp, (readonly)
gradient_fill_mode
Type:enum in [‘LINEAR’, ‘RADIAL’], default ‘LINEAR’
gradient_stroke_mode
Type:enum in [‘PRESSURE’, ‘SPACING_REPEAT’, ‘SPACING_CLAMP’], default ‘PRESSURE’
hardness

How close the brush falloff starts from the edge of the brush

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

Affectable height of brush (layer height for layer tool, i.e.)

Type:float in [0, 1], default 0.5
icon_filepath

File path to brush icon

Type:string, default “”, (never None)
image_paint_capabilities
Type:BrushCapabilitiesImagePaint, (readonly, never None)
image_tool
Type:enum in [‘DRAW’, ‘SOFTEN’, ‘SMEAR’, ‘CLONE’, ‘FILL’, ‘MASK’], default ‘DRAW’
invert_to_scrape_fill

Use Scrape or Fill tool when inverting this brush instead of inverting its displacement direction

Type:boolean, default False
jitter

Jitter the position of the brush while painting

Type:float in [0, 1000], default 0.0
jitter_absolute

Jitter the position of the brush in pixels while painting

Type:int in [0, 1000000], default 0
jitter_unit

Jitter in screen space or relative to brush size

  • VIEW View, Jittering happens in screen space, in pixels.
  • BRUSH Brush, Jittering happens relative to the brush size.
Type:enum in [‘VIEW’, ‘BRUSH’], default ‘BRUSH’
mask_overlay_alpha
Type:int in [0, 100], default 33
mask_stencil_dimension

Dimensions of mask stencil in viewport

Type:float array of 2 items in [-inf, inf], default (0.0, 0.0)
mask_stencil_pos

Position of mask stencil in viewport

Type:float array of 2 items in [-inf, inf], default (0.0, 0.0)
mask_texture
Type:Texture
mask_texture_slot
Type:BrushTextureSlot, (readonly)
mask_tool
Type:enum in [‘DRAW’, ‘SMOOTH’], default ‘DRAW’
multiplane_scrape_angle

Angle between the planes of the crease

Type:float in [0, 160], default 0.0
normal_radius_factor

Ratio between the brush radius and the radius that is going to be used to sample the normal

Type:float in [0, 2], default 0.5
normal_weight

How much grab will pull vertexes out of surface during a grab

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

Active Paint Curve

Type:PaintCurve
plane_offset

Adjust plane on which the brush acts towards or away from the object surface

Type:float in [-2, 2], default 0.0
plane_trim

If a vertex is further away from offset plane than this, then it is not affected

Type:float in [0, 1], default 0.5
pose_ik_segments

Number of segments of the inverse kinematics chain that will deform the mesh

Type:int in [1, 20], default 1
pose_offset

Offset of the pose origin in relation to the brush radius

Type:float in [0, 2], default 0.0
pose_origin_type

Method to set the rotation origins for the segments of the brush

  • TOPOLOGY Topology, Sets the rotation origin automatically using the topology and shape of the mesh as a guide.
  • FACE_SETS Face Sets, Creates a pose segment per face sets, starting from the active face set.
Type:enum in [‘TOPOLOGY’, ‘FACE_SETS’], default ‘TOPOLOGY’
pose_smooth_iterations

Smooth iterations applied after calculating the pose factor of each vertex

Type:int in [0, 100], default 4
rake_factor

How much grab will follow cursor rotation

Type:float in [0, 10], default 0.0
rate

Interval between paints for Airbrush

Type:float in [0.0001, 10000], default 0.1
sculpt_capabilities
Type:BrushCapabilitiesSculpt, (readonly, never None)
sculpt_plane
Type:enum in [‘AREA’, ‘VIEW’, ‘X’, ‘Y’, ‘Z’], default ‘AREA’
sculpt_tool
Type:enum in [‘DRAW’, ‘DRAW_SHARP’, ‘CLAY’, ‘CLAY_STRIPS’, ‘CLAY_THUMB’, ‘LAYER’, ‘INFLATE’, ‘BLOB’, ‘CREASE’, ‘SMOOTH’, ‘FLATTEN’, ‘FILL’, ‘SCRAPE’, ‘MULTIPLANE_SCRAPE’, ‘PINCH’, ‘GRAB’, ‘ELASTIC_DEFORM’, ‘SNAKE_HOOK’, ‘THUMB’, ‘POSE’, ‘NUDGE’, ‘ROTATE’, ‘TOPOLOGY’, ‘CLOTH’, ‘SIMPLIFY’, ‘MASK’, ‘DRAW_FACE_SETS’], default ‘DRAW’
secondary_color
Type:float array of 3 items in [0, 1], default (0.0, 0.0, 0.0)
sharp_threshold

Threshold below which, no sharpening is done

Type:float in [0, 100], default 0.0
show_multiplane_scrape_planes_preview

Preview the scrape planes in the cursor during the stroke

Type:boolean, default False
size

Radius of the brush in pixels

Type:int in [1, 5000], default 35
smooth_deform_type

Deformation type that is used in the brush

  • LAPLACIAN Laplacian, Smooths the surface and the volume.
  • SURFACE Surface, Smooths the surface of the mesh, preserving the volue.
Type:enum in [‘LAPLACIAN’, ‘SURFACE’], default ‘LAPLACIAN’
smooth_stroke_factor

Higher values give a smoother stroke

Type:float in [0.5, 0.99], default 0.9
smooth_stroke_radius

Minimum distance from last point before stroke continues

Type:int in [10, 200], default 75
spacing

Spacing between brush daubs as a percentage of brush diameter

Type:int in [1, 1000], default 10
stencil_dimension

Dimensions of stencil in viewport

Type:float array of 2 items in [-inf, inf], default (256.0, 256.0)
stencil_pos

Position of stencil in viewport

Type:float array of 2 items in [-inf, inf], default (256.0, 256.0)
strength

How powerful the effect of the brush is when applied

Type:float in [0, 10], default 1.0
stroke_method
  • DOTS Dots, Apply paint on each mouse move step.
  • DRAG_DOT Drag Dot, Allows a single dot to be carefully positioned.
  • SPACE Space, Limit brush application to the distance specified by spacing.
  • AIRBRUSH Airbrush, Keep applying paint effect while holding mouse (spray).
  • ANCHORED Anchored, Keep the brush anchored to the initial location.
  • LINE Line, Draw a line with dabs separated according to spacing.
  • CURVE Curve, Define the stroke curve with a bezier curve (dabs are separated according to spacing).
Type:enum in [‘DOTS’, ‘DRAG_DOT’, ‘SPACE’, ‘AIRBRUSH’, ‘ANCHORED’, ‘LINE’, ‘CURVE’], default ‘DOTS’
surface_smooth_current_vertex

How much the position of each individual vertex influences the final result

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

Number of smoothing iterations per brush step

Type:int in [1, 10], default 0
surface_smooth_shape_preservation

How much of the original shape is preserved when smoothing

Type:float in [0, 1], default 0.0
texture
Type:Texture
texture_overlay_alpha
Type:int in [0, 100], default 33
texture_sample_bias

Value added to texture samples

Type:float in [-1, 1], default 0.0
texture_slot
Type:BrushTextureSlot, (readonly)
tip_roundness

Roundness of the brush tip

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

Automatically align edges to the brush direction to generate cleaner topology and define sharp features. Best used on low-poly meshes as it has a performance impact

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

Radius of brush in Blender units

Type:float in [0.001, inf], default 0.0
use_accumulate

Accumulate stroke daubs on top of each other

Type:boolean, default False
use_adaptive_space

Space daubs according to surface orientation instead of screen space

Type:boolean, default False
use_airbrush

Keep applying paint effect while holding mouse (spray)

Type:boolean, default False
use_alpha

When this is disabled, lock alpha while painting

Type:boolean, default False
use_anchor

Keep the brush anchored to the initial location

Type:boolean, default False
use_automasking_boundary_edges

Do not affect non manifold boundary edges

Type:boolean, default False
use_automasking_boundary_face_sets

Do not affect vertices that belong to a Face Set boundary

Type:boolean, default False
use_automasking_face_sets

Affect only vertices that share Face Sets with the active vertex

Type:boolean, default False
use_automasking_topology

Affect only vertices connected to the active vertex under the brush

Type:boolean, default False
use_cursor_overlay

Show cursor in viewport

Type:boolean, default False
use_cursor_overlay_override

Don’t show overlay during a stroke

Type:boolean, default False
use_curve

Define the stroke curve with a bezier curve. Dabs are separated according to spacing

Type:boolean, default False
use_custom_icon

Set the brush icon from an image file

Type:boolean, default False
use_edge_to_edge

Drag anchor brush from edge-to-edge

Type:boolean, default False
use_frontface

Brush only affects vertexes that face the viewer

Type:boolean, default False
use_frontface_falloff

Blend brush influence by how much they face the front

Type:boolean, default False
use_grab_active_vertex

Apply the maximum grab strength to the active vertex instead of the cursor location

Type:boolean, default False
use_inverse_smooth_pressure

Lighter pressure causes more smoothing to be applied

Type:boolean, default False
use_line

Draw a line with dabs separated according to spacing

Type:boolean, default False
use_locked_size

Measure brush size relative to the view or the scene

  • VIEW View, Measure brush size relative to the view.
  • SCENE Scene, Measure brush size relative to the scene.
Type:enum in [‘VIEW’, ‘SCENE’], default ‘VIEW’
use_multiplane_scrape_dynamic

The angle between the planes changes during the stroke to fit the surface under the cursor

Type:boolean, default False
use_offset_pressure

Enable tablet pressure sensitivity for offset

Type:boolean, default False
use_original_normal

When locked keep using normal of surface where stroke was initiated

Type:boolean, default False
use_original_plane

When locked keep using the plane origin of surface where stroke was initiated

Type:boolean, default False
use_paint_antialiasing

Smooths the edges of the strokes

Type:boolean, default True
use_paint_grease_pencil

Use this brush in grease pencil drawing mode

Type:boolean, default False
use_paint_image

Use this brush in texture paint mode

Type:boolean, default True
use_paint_sculpt

Use this brush in sculpt mode

Type:boolean, default True
use_paint_uv_sculpt

Use this brush in UV sculpt mode

Type:boolean, default False
use_paint_vertex

Use this brush in vertex paint mode

Type:boolean, default True
use_paint_weight

Use this brush in weight paint mode

Type:boolean, default True
use_persistent

Sculpt on a persistent layer of the mesh

Type:boolean, default False
use_plane_trim

Enable Plane Trim

Type:boolean, default False
use_pose_ik_anchored

Keep the position of the last segment in the IK chain fixed

Type:boolean, default False
use_pressure_jitter

Enable tablet pressure sensitivity for jitter

Type:boolean, default False
use_pressure_masking

Pen pressure makes texture influence smaller

Type:enum in [‘NONE’, ‘RAMP’, ‘CUTOFF’], default ‘NONE’
use_pressure_size

Enable tablet pressure sensitivity for size

Type:boolean, default False
use_pressure_spacing

Enable tablet pressure sensitivity for spacing

Type:boolean, default False
use_pressure_strength

Enable tablet pressure sensitivity for strength

Type:boolean, default True
use_primary_overlay

Show texture in viewport

Type:boolean, default False
use_primary_overlay_override

Don’t show overlay during a stroke

Type:boolean, default False
use_restore_mesh

Allow a single dot to be carefully positioned

Type:boolean, default False
use_scene_spacing

Calculate the brush spacing using view or scene distance

  • VIEW View, Calculate brush spacing relative to the view.
  • SCENE Scene, Calculate brush spacing relative to the scene using the stroke location.
Type:enum in [‘VIEW’, ‘SCENE’], default ‘VIEW’
use_secondary_overlay

Show texture in viewport

Type:boolean, default False
use_secondary_overlay_override

Don’t show overlay during a stroke

Type:boolean, default False
use_smooth_stroke

Brush lags behind mouse and follows a smoother path

Type:boolean, default False
use_space

Limit brush application to the distance specified by spacing

Type:boolean, default True
use_space_attenuation

Automatically adjust strength to give consistent results for different spacings

Type:boolean, default True
use_vertex_grease_pencil

Use this brush in grease pencil vertex color mode

Type:boolean, default False
uv_sculpt_tool
  • GRAB Grab, Grab UVs.
  • RELAX Relax, Relax UVs.
  • PINCH Pinch, Pinch UVs.
Type:enum in [‘GRAB’, ‘RELAX’, ‘PINCH’], default ‘GRAB’
vertex_paint_capabilities
Type:BrushCapabilitiesVertexPaint, (readonly, never None)
vertex_tool
Type:enum in [‘DRAW’, ‘BLUR’, ‘AVERAGE’, ‘SMEAR’], default ‘DRAW’
weight

Vertex weight when brush is applied

Type:float in [0, 1], default 1.0
weight_paint_capabilities
Type:BrushCapabilitiesWeightPaint, (readonly, never None)
weight_tool
Type:enum in [‘DRAW’, ‘BLUR’, ‘AVERAGE’, ‘SMEAR’], default ‘DRAW’
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