# 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.``delete`(type='VERT')

  Delete selected control points or segments

  Parameters: | type (enum in [‘VERT’, ‘SEGMENT’], (optional)) – Type, Which elements to delete

`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)) – Translate, Translate (move) selected items

`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’], (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)) – Translate, Translate (move) selected items

`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, view_align=False, enter_editmode=False, location=(0.0, 0.0, 0.0), rotation=(0.0, 0.0, 0.0), layers=(False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False))

  Construct a Bezier Circle

  Parameters: | radius (float in [0, inf], (optional)) – Radius view_align (boolean, (optional)) – Align to View, Align the new object to the view enter_editmode (boolean, (optional)) – Enter Editmode, Enter editmode when adding this 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 layers (boolean array of 20 items, (optional)) – Layer

`bpy.ops.curve.``primitive_bezier_curve_add`(radius=1.0, view_align=False, enter_editmode=False, location=(0.0, 0.0, 0.0), rotation=(0.0, 0.0, 0.0), layers=(False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False))

  Construct a Bezier Curve

  Parameters: | radius (float in [0, inf], (optional)) – Radius view_align (boolean, (optional)) – Align to View, Align the new object to the view enter_editmode (boolean, (optional)) – Enter Editmode, Enter editmode when adding this 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 layers (boolean array of 20 items, (optional)) – Layer

`bpy.ops.curve.``primitive_nurbs_circle_add`(radius=1.0, view_align=False, enter_editmode=False, location=(0.0, 0.0, 0.0), rotation=(0.0, 0.0, 0.0), layers=(False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False))

  Construct a Nurbs Circle

  Parameters: | radius (float in [0, inf], (optional)) – Radius view_align (boolean, (optional)) – Align to View, Align the new object to the view enter_editmode (boolean, (optional)) – Enter Editmode, Enter editmode when adding this 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 layers (boolean array of 20 items, (optional)) – Layer

`bpy.ops.curve.``primitive_nurbs_curve_add`(radius=1.0, view_align=False, enter_editmode=False, location=(0.0, 0.0, 0.0), rotation=(0.0, 0.0, 0.0), layers=(False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False))

  Construct a Nurbs Curve

  Parameters: | radius (float in [0, inf], (optional)) – Radius view_align (boolean, (optional)) – Align to View, Align the new object to the view enter_editmode (boolean, (optional)) – Enter Editmode, Enter editmode when adding this 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 layers (boolean array of 20 items, (optional)) – Layer

`bpy.ops.curve.``primitive_nurbs_path_add`(radius=1.0, view_align=False, enter_editmode=False, location=(0.0, 0.0, 0.0), rotation=(0.0, 0.0, 0.0), layers=(False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False))

  Construct a Path

  Parameters: | radius (float in [0, inf], (optional)) – Radius view_align (boolean, (optional)) – Align to View, Align the new object to the view enter_editmode (boolean, (optional)) – Enter Editmode, Enter editmode when adding this 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 layers (boolean array of 20 items, (optional)) – Layer

`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`()

  Show again hidden control points

`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 active one

`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`(nth=2, skip=1, offset=0)

  Deselect every other vertex

  Parameters: | nth (int in [2, inf], (optional)) – Nth Selection skip (int in [1, inf], (optional)) – Skip offset (int in [-inf, inf], (optional)) – Offset

`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