Grease Pencil Operators#
- bpy.ops.grease_pencil.brush_stroke(stroke=None, mode='NORMAL', pen_flip=False)#
Draw a new stroke in the active Grease Pencil object
- Parameters:
stroke (
bpy_prop_collection
ofOperatorStrokeElement
, (optional)) – Strokemode (enum in ['NORMAL', 'INVERT', 'SMOOTH'], (optional)) –
Stroke Mode, Action taken when a paint stroke is made
NORMAL
Regular – Apply brush normally.INVERT
Invert – Invert action of brush for duration of stroke.SMOOTH
Smooth – Switch brush to smooth mode for duration of stroke.
pen_flip (boolean, (optional)) – Pen Flip, Whether a tablet’s eraser mode is being used
- bpy.ops.grease_pencil.caps_set(type='ROUND')#
Change curve caps mode (rounded or flat)
- Parameters:
type (enum in ['ROUND', 'FLAT', 'START', 'END'], (optional)) –
Type
ROUND
Rounded – Set as default rounded.FLAT
Flat.START
Toggle Start.END
Toggle End.
- bpy.ops.grease_pencil.clean_loose(limit=1)#
Remove loose points
- Parameters:
limit (int in [1, inf], (optional)) – Limit, Number of points to consider stroke as loose
- bpy.ops.grease_pencil.copy()#
Copy the selected Grease Pencil points or strokes to the internal clipboard
- bpy.ops.grease_pencil.cyclical_set(type='TOGGLE')#
Close or open the selected stroke adding a segment from last to first point
- Parameters:
type (enum in ['CLOSE', 'OPEN', 'TOGGLE'], (optional)) – Type
- bpy.ops.grease_pencil.delete()#
Delete selected strokes or points
- bpy.ops.grease_pencil.delete_frame(type='ACTIVE_FRAME')#
Delete Grease Pencil Frame(s)
- Parameters:
type (enum in ['ACTIVE_FRAME', 'ALL_FRAMES'], (optional)) –
Type, Method used for deleting Grease Pencil frames
ACTIVE_FRAME
Active Frame – Deletes current frame in the active layer.ALL_FRAMES
All Active Frames – Delete active frames for all layers.
- bpy.ops.grease_pencil.dissolve(type='POINTS')#
Delete selected points without splitting strokes
- Parameters:
type (enum in ['POINTS', 'BETWEEN', 'UNSELECT'], (optional)) –
Type, Method used for dissolving stroke points
POINTS
Dissolve – Dissolve selected points.BETWEEN
Dissolve Between – Dissolve points between selected points.UNSELECT
Dissolve Unselect – Dissolve all unselected points.
- bpy.ops.grease_pencil.duplicate()#
Duplicate the selected points
- bpy.ops.grease_pencil.duplicate_move(GREASE_PENCIL_OT_duplicate=None, TRANSFORM_OT_translate=None)#
Make copies of the selected Grease Pencil strokes and move them
- Parameters:
GREASE_PENCIL_OT_duplicate (
GREASE_PENCIL_OT_duplicate
, (optional)) – Duplicate, Duplicate the selected pointsTRANSFORM_OT_translate (
TRANSFORM_OT_translate
, (optional)) – Move, Move selected items
- bpy.ops.grease_pencil.extrude()#
Extrude the selected points
- bpy.ops.grease_pencil.extrude_move(GREASE_PENCIL_OT_extrude=None, TRANSFORM_OT_translate=None)#
Extrude selected points and move them
- Parameters:
GREASE_PENCIL_OT_extrude (
GREASE_PENCIL_OT_extrude
, (optional)) – Extrude Stroke Points, Extrude the selected pointsTRANSFORM_OT_translate (
TRANSFORM_OT_translate
, (optional)) – Move, Move selected items
- bpy.ops.grease_pencil.fill(on_back=False, invert=False, precision=False)#
Fill with color the shape formed by strokes
- Parameters:
on_back (boolean, (optional)) – Draw on Back, Send new stroke to back
invert (boolean, (optional)) – Invert, Find boundary of unfilled instead of filled regions
precision (boolean, (optional)) – Precision, Use precision movement for extension lines
- bpy.ops.grease_pencil.insert_blank_frame(all_layers=False, duration=0)#
Insert a blank frame on the current scene frame
- Parameters:
all_layers (boolean, (optional)) – All Layers, Insert a blank frame in all editable layers
duration (int in [0, 1048574], (optional)) – Duration
- bpy.ops.grease_pencil.layer_active(layer=0)#
Set the active Grease Pencil layer
- Parameters:
layer (int in [0, inf], (optional)) – Grease Pencil Layer
- bpy.ops.grease_pencil.layer_add(new_layer_name='Layer')#
Add a new Grease Pencil layer in the active object
- Parameters:
new_layer_name (string, (optional, never None)) – Name, Name of the new layer
- bpy.ops.grease_pencil.layer_duplicate(empty_keyframes=False)#
Make a copy of the active Grease Pencil layer
- Parameters:
empty_keyframes (boolean, (optional)) – Empty Keyframes, Add Empty Keyframes
- bpy.ops.grease_pencil.layer_group_add(new_layer_group_name='')#
Add a new Grease Pencil layer group in the active object
- Parameters:
new_layer_group_name (string, (optional, never None)) – Name, Name of the new layer group
- bpy.ops.grease_pencil.layer_group_remove(keep_children=False)#
Remove Grease Pencil layer group in the active object
- Parameters:
keep_children (boolean, (optional)) – Keep children nodes, Keep the children nodes of the group and only delete the group itself
- bpy.ops.grease_pencil.layer_hide(unselected=False)#
Hide selected/unselected Grease Pencil layers
- Parameters:
unselected (boolean, (optional)) – Unselected, Hide unselected rather than selected layers
- bpy.ops.grease_pencil.layer_isolate(affect_visibility=False)#
Make only active layer visible/editable
- Parameters:
affect_visibility (boolean, (optional)) – Affect Visibility, Also affect the visibility
- bpy.ops.grease_pencil.layer_lock_all(lock=True)#
Lock all Grease Pencil layers to prevent them from being accidentally modified
- Parameters:
lock (boolean, (optional)) – Lock Value, Lock/Unlock all layers
- bpy.ops.grease_pencil.layer_mask_add(name='')#
Add new layer as masking
- Parameters:
name (string, (optional, never None)) – Layer, Name of the layer
- bpy.ops.grease_pencil.layer_mask_remove()#
Remove Layer Mask
- bpy.ops.grease_pencil.layer_mask_reorder(direction='UP')#
Reorder the active Grease Pencil mask layer up/down in the list
- Parameters:
direction (enum in ['UP', 'DOWN'], (optional)) – Direction
- bpy.ops.grease_pencil.layer_remove()#
Remove the active Grease Pencil layer
- bpy.ops.grease_pencil.layer_reorder(target_layer_name='Layer', location='ABOVE')#
Reorder the active Grease Pencil layer
- Parameters:
target_layer_name (string, (optional, never None)) – Target Name, Name of the target layer
location (enum in ['ABOVE', 'BELOW'], (optional)) – Location
- bpy.ops.grease_pencil.layer_reveal()#
Show all Grease Pencil layers
- bpy.ops.grease_pencil.material_copy_to_object(only_active=True)#
Append Materials of the active Grease Pencil to other object
- Parameters:
only_active (boolean, (optional)) – Only Active, Append only active material, uncheck to append all materials
- bpy.ops.grease_pencil.material_hide(invert=False)#
Hide active/inactive Grease Pencil material(s)
- Parameters:
invert (boolean, (optional)) – Invert, Hide inactive materials instead of the active one
- bpy.ops.grease_pencil.material_lock_all()#
Lock all Grease Pencil materials to prevent them from being accidentally modified
- bpy.ops.grease_pencil.material_lock_unselected()#
Lock any material not used in any selected stroke
- bpy.ops.grease_pencil.material_lock_unused()#
Lock and hide any material not used
- bpy.ops.grease_pencil.material_reveal()#
Unhide all hidden Grease Pencil materials
- bpy.ops.grease_pencil.material_select(deselect=False)#
Select/Deselect all Grease Pencil strokes using current material
- Parameters:
deselect (boolean, (optional)) – Deselect, Unselect strokes
- bpy.ops.grease_pencil.material_unlock_all()#
Unlock all Grease Pencil materials so that they can be edited
- bpy.ops.grease_pencil.move_to_layer(target_layer_name='Layer', add_new_layer=False)#
Move selected strokes to another layer
- Parameters:
target_layer_name (string, (optional, never None)) – Name, Target Grease Pencil Layer
add_new_layer (boolean, (optional)) – New Layer, Move selection to a new layer
- bpy.ops.grease_pencil.paste(paste_back=False)#
Paste Grease Pencil points or strokes from the internal clipboard to the active layer
- Parameters:
paste_back (boolean, (optional)) – Paste on Back, Add pasted strokes behind all strokes
- bpy.ops.grease_pencil.primitive_arc(subdivision=62, type='ARC')#
Create predefined grease pencil stroke arcs
- Parameters:
subdivision (int in [0, inf], (optional)) – Subdivisions, Number of subdivisions per segment
type (enum in ['BOX', 'LINE', 'POLYLINE', 'CIRCLE', 'ARC', 'CURVE'], (optional)) – Type, Type of shape
- bpy.ops.grease_pencil.primitive_box(subdivision=3, type='BOX')#
Create predefined grease pencil stroke boxes
- Parameters:
subdivision (int in [0, inf], (optional)) – Subdivisions, Number of subdivisions per segment
type (enum in ['BOX', 'LINE', 'POLYLINE', 'CIRCLE', 'ARC', 'CURVE'], (optional)) – Type, Type of shape
- bpy.ops.grease_pencil.primitive_circle(subdivision=94, type='CIRCLE')#
Create predefined grease pencil stroke circles
- Parameters:
subdivision (int in [0, inf], (optional)) – Subdivisions, Number of subdivisions per segment
type (enum in ['BOX', 'LINE', 'POLYLINE', 'CIRCLE', 'ARC', 'CURVE'], (optional)) – Type, Type of shape
- bpy.ops.grease_pencil.primitive_curve(subdivision=62, type='CURVE')#
Create predefined grease pencil stroke curve shapes
- Parameters:
subdivision (int in [0, inf], (optional)) – Subdivisions, Number of subdivisions per segment
type (enum in ['BOX', 'LINE', 'POLYLINE', 'CIRCLE', 'ARC', 'CURVE'], (optional)) – Type, Type of shape
- bpy.ops.grease_pencil.primitive_line(subdivision=6, type='LINE')#
Create predefined grease pencil stroke lines
- Parameters:
subdivision (int in [0, inf], (optional)) – Subdivisions, Number of subdivisions per segment
type (enum in ['BOX', 'LINE', 'POLYLINE', 'CIRCLE', 'ARC', 'CURVE'], (optional)) – Type, Type of shape
- bpy.ops.grease_pencil.primitive_polyline(subdivision=6, type='POLYLINE')#
Create predefined grease pencil stroke polylines
- Parameters:
subdivision (int in [0, inf], (optional)) – Subdivisions, Number of subdivisions per segment
type (enum in ['BOX', 'LINE', 'POLYLINE', 'CIRCLE', 'ARC', 'CURVE'], (optional)) – Type, Type of shape
- bpy.ops.grease_pencil.reorder(direction='TOP')#
Change the display order of the selected strokes
- Parameters:
direction (enum in ['TOP', 'UP', 'DOWN', 'BOTTOM'], (optional)) – Direction
- bpy.ops.grease_pencil.sculpt_paint(stroke=None, mode='NORMAL', pen_flip=False)#
Draw a new stroke in the active Grease Pencil object
- Parameters:
stroke (
bpy_prop_collection
ofOperatorStrokeElement
, (optional)) – Strokemode (enum in ['NORMAL', 'INVERT', 'SMOOTH'], (optional)) –
Stroke Mode, Action taken when a paint stroke is made
NORMAL
Regular – Apply brush normally.INVERT
Invert – Invert action of brush for duration of stroke.SMOOTH
Smooth – Switch brush to smooth mode for duration of stroke.
pen_flip (boolean, (optional)) – Pen Flip, Whether a tablet’s eraser mode is being used
- bpy.ops.grease_pencil.select_all(action='TOGGLE')#
(De)select all visible strokes
- Parameters:
action (enum in ['TOGGLE', 'SELECT', 'DESELECT', 'INVERT'], (optional)) –
Action, Selection action to execute
TOGGLE
Toggle – Toggle selection for all elements.SELECT
Select – Select all elements.DESELECT
Deselect – Deselect all elements.INVERT
Invert – Invert selection of all elements.
- bpy.ops.grease_pencil.select_alternate(deselect_ends=False)#
Select alternated points in strokes with already selected points
- Parameters:
deselect_ends (boolean, (optional)) – Deselect Ends, (De)select the first and last point of each stroke
- bpy.ops.grease_pencil.select_ends(amount_start=0, amount_end=1)#
Select end points of strokes
- Parameters:
amount_start (int in [0, inf], (optional)) – Amount Start, Number of points to select from the start
amount_end (int in [0, inf], (optional)) – Amount End, Number of points to select from the end
- bpy.ops.grease_pencil.select_less()#
Shrink the selection by one point
- bpy.ops.grease_pencil.select_linked()#
Select all points in curves with any point selection
- bpy.ops.grease_pencil.select_more()#
Grow the selection by one point
- bpy.ops.grease_pencil.select_random(ratio=0.5, seed=0, action='SELECT')#
Selects random points from the current strokes selection
- Parameters:
ratio (float in [0, 1], (optional)) – Ratio, Portion of items to select randomly
seed (int in [0, inf], (optional)) – Random Seed, Seed for the random number generator
action (enum in ['SELECT', 'DESELECT'], (optional)) –
Action, Selection action to execute
SELECT
Select – Select all elements.DESELECT
Deselect – Deselect all elements.
- bpy.ops.grease_pencil.separate(mode='SELECTED')#
Separate the selected geometry into a new grease pencil object
- Parameters:
mode (enum in ['SELECTED', 'MATERIAL', 'LAYER'], (optional)) –
Mode
SELECTED
Selection – Separate selected geometry.MATERIAL
By Material – Separate by material.LAYER
By Layer – Separate by layer.
- bpy.ops.grease_pencil.set_active_material()#
Set the selected stroke material as the active material
- bpy.ops.grease_pencil.set_material(slot='DEFAULT')#
Set active material
- Parameters:
slot (enum in ['DEFAULT'], (optional)) – Material Slot
- bpy.ops.grease_pencil.set_selection_mode(mode='POINT')#
Change the selection mode for Grease Pencil strokes
- Parameters:
mode (enum in Grease Pencil Selectmode Items, (optional)) – Mode
- bpy.ops.grease_pencil.set_uniform_opacity(opacity=1.0)#
Set all stroke points to same opacity
- Parameters:
opacity (float in [0, 1], (optional)) – Opacity
- bpy.ops.grease_pencil.set_uniform_thickness(thickness=0.1)#
Set all stroke points to same thickness
- Parameters:
thickness (float in [0, 1000], (optional)) – Thickness, Thickness
- bpy.ops.grease_pencil.snap_cursor_to_selected()#
Snap cursor to center of selected points
- bpy.ops.grease_pencil.snap_to_cursor(use_offset=True)#
Snap selected points/strokes to the cursor
- Parameters:
use_offset (boolean, (optional)) – With Offset, Offset the entire stroke instead of selected points only
- bpy.ops.grease_pencil.snap_to_grid()#
Snap selected points to the nearest grid points
- bpy.ops.grease_pencil.stroke_cutter(path=None)#
Delete stroke points in between intersecting strokes
- Parameters:
path (
bpy_prop_collection
ofOperatorMousePath
, (optional)) – Path
- bpy.ops.grease_pencil.stroke_material_set(material='')#
Assign the active material slot to the selected strokes
- Parameters:
material (string, (optional, never None)) – Material, Name of the material
- bpy.ops.grease_pencil.stroke_merge_by_distance(threshold=0.001, use_unselected=False)#
Merge points by distance
- Parameters:
threshold (float in [0, 100], (optional)) – Threshold
use_unselected (boolean, (optional)) – Unselected, Use whole stroke, not only selected points
- bpy.ops.grease_pencil.stroke_simplify(factor=0.01)#
Simplify selected strokes
- Parameters:
factor (float in [0, 100], (optional)) – Factor
- bpy.ops.grease_pencil.stroke_smooth(iterations=10, factor=1.0, smooth_ends=False, keep_shape=False, smooth_position=True, smooth_radius=True, smooth_opacity=False)#
Smooth selected strokes
- Parameters:
iterations (int in [1, 100], (optional)) – Iterations
factor (float in [0, 1], (optional)) – Factor
smooth_ends (boolean, (optional)) – Smooth Endpoints
keep_shape (boolean, (optional)) – Keep Shape
smooth_position (boolean, (optional)) – Position
smooth_radius (boolean, (optional)) – Radius
smooth_opacity (boolean, (optional)) – Opacity
- bpy.ops.grease_pencil.stroke_subdivide(number_cuts=1, only_selected=True)#
Subdivide between continuous selected points of the stroke adding a point half way between them
- Parameters:
number_cuts (int in [1, 32], (optional)) – Number of Cuts
only_selected (boolean, (optional)) – Selected Points, Smooth only selected points in the stroke
- bpy.ops.grease_pencil.stroke_subdivide_smooth(GREASE_PENCIL_OT_stroke_subdivide=None, GREASE_PENCIL_OT_stroke_smooth=None)#
Subdivide strokes and smooth them
- Parameters:
GREASE_PENCIL_OT_stroke_subdivide (
GREASE_PENCIL_OT_stroke_subdivide
, (optional)) – Subdivide Stroke, Subdivide between continuous selected points of the stroke adding a point half way between themGREASE_PENCIL_OT_stroke_smooth (
GREASE_PENCIL_OT_stroke_smooth
, (optional)) – Smooth Stroke, Smooth selected strokes
- bpy.ops.grease_pencil.stroke_switch_direction()#
Change direction of the points of the selected strokes
- bpy.ops.grease_pencil.weight_brush_stroke(stroke=None, mode='NORMAL', pen_flip=False)#
Draw weight on stroke points in the active Grease Pencil object
- Parameters:
stroke (
bpy_prop_collection
ofOperatorStrokeElement
, (optional)) – Strokemode (enum in ['NORMAL', 'INVERT', 'SMOOTH'], (optional)) –
Stroke Mode, Action taken when a paint stroke is made
NORMAL
Regular – Apply brush normally.INVERT
Invert – Invert action of brush for duration of stroke.SMOOTH
Smooth – Switch brush to smooth mode for duration of stroke.
pen_flip (boolean, (optional)) – Pen Flip, Whether a tablet’s eraser mode is being used
- bpy.ops.grease_pencil.weight_sample()#
Set the weight of the Draw tool to the weight of the vertex under the mouse cursor
- bpy.ops.grease_pencil.weight_toggle_direction()#
Toggle Add/Subtract for the weight paint draw tool