Curve Operators¶
-
bpy.ops.curve.
cyclic_toggle
(direction='CYCLIC_U')¶ Make active spline closed/opened loop
Parameters: direction (enum in ['CYCLIC_U', 'CYCLIC_V'], (optional)) – Direction, Direction to make surface cyclic in
-
bpy.ops.curve.
de_select_first
()¶ (De)select first of visible part of each NURBS
-
bpy.ops.curve.
de_select_last
()¶ (De)select last of visible part of each NURBS
-
bpy.ops.curve.
decimate
(ratio=1.0)¶ Simplify selected curves
Parameters: ratio (float in [0, 1], (optional)) – Ratio
-
bpy.ops.curve.
delete
(type='VERT')¶ Delete selected control points or segments
Parameters: type (enum in ['VERT', 'SEGMENT'], (optional)) – Type, Which elements to delete
-
bpy.ops.curve.
dissolve_verts
()¶ Delete selected control points, correcting surrounding handles
-
bpy.ops.curve.
draw
(error_threshold=0.0, fit_method='REFIT', corner_angle=1.22173, use_cyclic=True, stroke=None, wait_for_input=True)¶ Draw a freehand spline
Parameters: - error_threshold (float in [0, 10], (optional)) – Error, Error distance threshold (in object units)
- fit_method (enum in ['REFIT', 'SPLIT'], (optional)) –
Fit Method
REFIT
Refit, Incrementally re-fit the curve (high quality).SPLIT
Split, Split the curve until the tolerance is met (fast).
- corner_angle (float in [0, 3.14159], (optional)) – Corner Angle
- use_cyclic (boolean, (optional)) – Cyclic
- stroke (
bpy_prop_collection
ofOperatorStrokeElement
, (optional)) – Stroke - wait_for_input (boolean, (optional)) – Wait for Input
-
bpy.ops.curve.
duplicate
()¶ Duplicate selected control points
-
bpy.ops.curve.
duplicate_move
(CURVE_OT_duplicate=None, TRANSFORM_OT_translate=None)¶ Duplicate curve and move
Parameters: - CURVE_OT_duplicate (
CURVE_OT_duplicate
, (optional)) – Duplicate Curve, Duplicate selected control points - TRANSFORM_OT_translate (
TRANSFORM_OT_translate
, (optional)) – Move, Move selected items
- CURVE_OT_duplicate (
-
bpy.ops.curve.
extrude
(mode='TRANSLATION')¶ Extrude selected control point(s)
Parameters: mode (enum in ['INIT', 'DUMMY', 'TRANSLATION', 'ROTATION', 'RESIZE', 'SKIN_RESIZE', 'TOSPHERE', 'SHEAR', 'BEND', 'SHRINKFATTEN', 'TILT', 'TRACKBALL', 'PUSHPULL', 'CREASE', 'MIRROR', 'BONE_SIZE', 'BONE_ENVELOPE', 'BONE_ENVELOPE_DIST', 'CURVE_SHRINKFATTEN', 'MASK_SHRINKFATTEN', 'GPENCIL_SHRINKFATTEN', 'BONE_ROLL', 'TIME_TRANSLATE', 'TIME_SLIDE', 'TIME_SCALE', 'TIME_EXTEND', 'BAKE_TIME', 'BWEIGHT', 'ALIGN', 'EDGESLIDE', 'SEQSLIDE', 'GPENCIL_OPACITY'], (optional)) – Mode
-
bpy.ops.curve.
extrude_move
(CURVE_OT_extrude=None, TRANSFORM_OT_translate=None)¶ Extrude curve and move result
Parameters: - CURVE_OT_extrude (
CURVE_OT_extrude
, (optional)) – Extrude, Extrude selected control point(s) - TRANSFORM_OT_translate (
TRANSFORM_OT_translate
, (optional)) – Move, Move selected items
- CURVE_OT_extrude (
-
bpy.ops.curve.
handle_type_set
(type='AUTOMATIC')¶ Set type of handles for selected control points
Parameters: type (enum in ['AUTOMATIC', 'VECTOR', 'ALIGNED', 'FREE_ALIGN', 'TOGGLE_FREE_ALIGN'], (optional)) – Type, Spline type
-
bpy.ops.curve.
hide
(unselected=False)¶ Hide (un)selected control points
Parameters: unselected (boolean, (optional)) – Unselected, Hide unselected rather than selected
-
bpy.ops.curve.
make_segment
()¶ Join two curves by their selected ends
-
bpy.ops.curve.
match_texture_space
()¶ Match texture space to object’s bounding box
-
bpy.ops.curve.
normals_make_consistent
(calc_length=False)¶ Recalculate the direction of selected handles
Parameters: calc_length (boolean, (optional)) – Length, Recalculate handle length
-
bpy.ops.curve.
primitive_bezier_circle_add
(radius=1.0, enter_editmode=False, align='WORLD', location=(0.0, 0.0, 0.0), rotation=(0.0, 0.0, 0.0))¶ Construct a Bezier Circle
Parameters: - radius (float in [0, inf], (optional)) – Radius
- enter_editmode (boolean, (optional)) – Enter Editmode, Enter editmode when adding this object
- align (enum in ['WORLD', 'VIEW', 'CURSOR'], (optional)) –
Align, The alignment of the new object
WORLD
World, Align the new object to the world.VIEW
View, Align the new object to the view.CURSOR
3D Cursor, Use the 3D cursor orientation for the new object.
- location (float array of 3 items in [-inf, inf], (optional)) – Location, Location for the newly added object
- rotation (float array of 3 items in [-inf, inf], (optional)) – Rotation, Rotation for the newly added object
-
bpy.ops.curve.
primitive_bezier_curve_add
(radius=1.0, enter_editmode=False, align='WORLD', location=(0.0, 0.0, 0.0), rotation=(0.0, 0.0, 0.0))¶ Construct a Bezier Curve
Parameters: - radius (float in [0, inf], (optional)) – Radius
- enter_editmode (boolean, (optional)) – Enter Editmode, Enter editmode when adding this object
- align (enum in ['WORLD', 'VIEW', 'CURSOR'], (optional)) –
Align, The alignment of the new object
WORLD
World, Align the new object to the world.VIEW
View, Align the new object to the view.CURSOR
3D Cursor, Use the 3D cursor orientation for the new object.
- location (float array of 3 items in [-inf, inf], (optional)) – Location, Location for the newly added object
- rotation (float array of 3 items in [-inf, inf], (optional)) – Rotation, Rotation for the newly added object
-
bpy.ops.curve.
primitive_nurbs_circle_add
(radius=1.0, enter_editmode=False, align='WORLD', location=(0.0, 0.0, 0.0), rotation=(0.0, 0.0, 0.0))¶ Construct a Nurbs Circle
Parameters: - radius (float in [0, inf], (optional)) – Radius
- enter_editmode (boolean, (optional)) – Enter Editmode, Enter editmode when adding this object
- align (enum in ['WORLD', 'VIEW', 'CURSOR'], (optional)) –
Align, The alignment of the new object
WORLD
World, Align the new object to the world.VIEW
View, Align the new object to the view.CURSOR
3D Cursor, Use the 3D cursor orientation for the new object.
- location (float array of 3 items in [-inf, inf], (optional)) – Location, Location for the newly added object
- rotation (float array of 3 items in [-inf, inf], (optional)) – Rotation, Rotation for the newly added object
-
bpy.ops.curve.
primitive_nurbs_curve_add
(radius=1.0, enter_editmode=False, align='WORLD', location=(0.0, 0.0, 0.0), rotation=(0.0, 0.0, 0.0))¶ Construct a Nurbs Curve
Parameters: - radius (float in [0, inf], (optional)) – Radius
- enter_editmode (boolean, (optional)) – Enter Editmode, Enter editmode when adding this object
- align (enum in ['WORLD', 'VIEW', 'CURSOR'], (optional)) –
Align, The alignment of the new object
WORLD
World, Align the new object to the world.VIEW
View, Align the new object to the view.CURSOR
3D Cursor, Use the 3D cursor orientation for the new object.
- location (float array of 3 items in [-inf, inf], (optional)) – Location, Location for the newly added object
- rotation (float array of 3 items in [-inf, inf], (optional)) – Rotation, Rotation for the newly added object
-
bpy.ops.curve.
primitive_nurbs_path_add
(radius=1.0, enter_editmode=False, align='WORLD', location=(0.0, 0.0, 0.0), rotation=(0.0, 0.0, 0.0))¶ Construct a Path
Parameters: - radius (float in [0, inf], (optional)) – Radius
- enter_editmode (boolean, (optional)) – Enter Editmode, Enter editmode when adding this object
- align (enum in ['WORLD', 'VIEW', 'CURSOR'], (optional)) –
Align, The alignment of the new object
WORLD
World, Align the new object to the world.VIEW
View, Align the new object to the view.CURSOR
3D Cursor, Use the 3D cursor orientation for the new object.
- location (float array of 3 items in [-inf, inf], (optional)) – Location, Location for the newly added object
- rotation (float array of 3 items in [-inf, inf], (optional)) – Rotation, Rotation for the newly added object
-
bpy.ops.curve.
radius_set
(radius=1.0)¶ Set per-point radius which is used for bevel tapering
Parameters: radius (float in [0, inf], (optional)) – Radius
-
bpy.ops.curve.
reveal
(select=True)¶ Reveal hidden control points
Parameters: select (boolean, (optional)) – Select
-
bpy.ops.curve.
select_all
(action='TOGGLE')¶ (De)select all control points
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.curve.
select_less
()¶ Reduce current selection by deselecting boundary elements
-
bpy.ops.curve.
select_linked
()¶ Select all control points linked to the current selection
-
bpy.ops.curve.
select_linked_pick
(deselect=False)¶ Select all control points linked to already selected ones
Parameters: deselect (boolean, (optional)) – Deselect, Deselect linked control points rather than selecting them
-
bpy.ops.curve.
select_more
()¶ Select control points directly linked to already selected ones
-
bpy.ops.curve.
select_next
()¶ Select control points following already selected ones along the curves
-
bpy.ops.curve.
select_nth
(skip=1, nth=1, offset=0)¶ Deselect every Nth point starting from the active one
Parameters: - skip (int in [1, inf], (optional)) – Deselected, Number of deselected elements in the repetitive sequence
- nth (int in [1, inf], (optional)) – Selected, Number of selected elements in the repetitive sequence
- offset (int in [-inf, inf], (optional)) – Offset, Offset from the starting point
-
bpy.ops.curve.
select_previous
()¶ Select control points preceding already selected ones along the curves
-
bpy.ops.curve.
select_random
(percent=50.0, seed=0, action='SELECT')¶ Randomly select some control points
Parameters: - percent (float in [0, 100], (optional)) – Percent, Percentage of objects 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.curve.
select_row
()¶ Select a row of control points including active one
-
bpy.ops.curve.
select_similar
(type='WEIGHT', compare='EQUAL', threshold=0.1)¶ Select similar curve points by property type
Parameters: - type (enum in ['TYPE', 'RADIUS', 'WEIGHT', 'DIRECTION'], (optional)) – Type
- compare (enum in ['EQUAL', 'GREATER', 'LESS'], (optional)) – Compare
- threshold (float in [0, inf], (optional)) – Threshold
-
bpy.ops.curve.
separate
()¶ Separate selected points from connected unselected points into a new object
-
bpy.ops.curve.
shade_flat
()¶ Set shading to flat
-
bpy.ops.curve.
shade_smooth
()¶ Set shading to smooth
-
bpy.ops.curve.
shortest_path_pick
()¶ Select shortest path between two selections
-
bpy.ops.curve.
smooth
()¶ Flatten angles of selected points
-
bpy.ops.curve.
smooth_radius
()¶ Interpolate radii of selected points
-
bpy.ops.curve.
smooth_tilt
()¶ Interpolate tilt of selected points
-
bpy.ops.curve.
smooth_weight
()¶ Interpolate weight of selected points
-
bpy.ops.curve.
spin
(center=(0.0, 0.0, 0.0), axis=(0.0, 0.0, 0.0))¶ Extrude selected boundary row around pivot point and current view axis
Parameters: - center (float array of 3 items in [-inf, inf], (optional)) – Center, Center in global view space
- axis (float array of 3 items in [-1, 1], (optional)) – Axis, Axis in global view space
-
bpy.ops.curve.
spline_type_set
(type='POLY', use_handles=False)¶ Set type of active spline
Parameters: - type (enum in ['POLY', 'BEZIER', 'NURBS'], (optional)) – Type, Spline type
- use_handles (boolean, (optional)) – Handles, Use handles when converting bezier curves into polygons
-
bpy.ops.curve.
spline_weight_set
(weight=1.0)¶ Set softbody goal weight for selected points
Parameters: weight (float in [0, 1], (optional)) – Weight
-
bpy.ops.curve.
split
()¶ Split off selected points from connected unselected points
-
bpy.ops.curve.
subdivide
(number_cuts=1)¶ Subdivide selected segments
Parameters: number_cuts (int in [1, 1000], (optional)) – Number of cuts
-
bpy.ops.curve.
switch_direction
()¶ Switch direction of selected splines
-
bpy.ops.curve.
tilt_clear
()¶ Clear the tilt of selected control points
-
bpy.ops.curve.
vertex_add
(location=(0.0, 0.0, 0.0))¶ Add a new control point (linked to only selected end-curve one, if any)
Parameters: location (float array of 3 items in [-inf, inf], (optional)) – Location, Location to add new vertex at