Brush(ID)

base classes — bpy_struct, ID

class bpy.types.Brush.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

density

Amount of random elements that are going to be affected by the brush

Type

float in [0, 1], default 0.0

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

flow

Amount of paint that is applied per stroke sample

Type

float in [0, 1], default 0.0

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_deform_type

Deformation type that is used in the brush

Type

enum in [‘ROTATE_TWIST’, ‘SCALE_TRANSLATE’, ‘SQUASH_STRETCH’], default ‘ROTATE_TWIST’

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.

  • FACE_SETS_FK Face Sets FK, Simulates an FK deformation using the Face Set under the cursor as control.

Type

enum in [‘TOPOLOGY’, ‘FACE_SETS’, ‘FACE_SETS_FK’], 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’, ‘PAINT’, ‘SMEAR’, ‘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 volume.

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

tip_scale_x

Scale of the brush tip in the X axis

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’

wet_mix

Amount of paint that is picked from the surface into the brush color

Type

float in [0, 1], default 0.0

wet_persistence

Amount of wet paint that stays in the brush after applyig paint to the surface

Type

float in [0, 1], default 0.0

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

  • bpy_struct.id_data

  • ID.name

  • ID.name_full

  • ID.is_evaluated

  • ID.original

  • ID.users

  • ID.use_fake_user

  • ID.is_embedded_data

  • ID.tag

  • ID.is_library_indirect

  • ID.library

  • ID.override_library

  • ID.preview

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_overridable_library

  • 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.pop

  • bpy_struct.property_overridable_library_set

  • bpy_struct.property_unset

  • bpy_struct.type_recast

  • bpy_struct.values

  • ID.evaluated_get

  • ID.copy

  • ID.override_create

  • ID.user_clear

  • ID.user_remap

  • ID.make_local

  • ID.user_of_id

  • ID.animation_data_create

  • ID.animation_data_clear

  • ID.update_tag

  • ID.bl_rna_get_subclass

  • ID.bl_rna_get_subclass_py

References

  • bpy.context.brush

  • BlendData.brushes

  • BlendDataBrushes.create_gpencil_data

  • BlendDataBrushes.new

  • BlendDataBrushes.remove

  • Paint.brush

  • PaintToolSlot.brush