# Uv Operators

`bpy.ops.uv.``align`(axis='ALIGN_AUTO')

  Align selected UV vertices to an axis

  Parameters: | axis (enum in ['ALIGN_S', 'ALIGN_T', 'ALIGN_U', 'ALIGN_AUTO', 'ALIGN_X', 'ALIGN_Y'], (optional)) – Axis, Axis to align UV locations on `ALIGN_S` Straighten, Align UVs along the line defined by the endpoints. `ALIGN_T` Straighten X, Align UVs along the line defined by the endpoints along the X axis. `ALIGN_U` Straighten Y, Align UVs along the line defined by the endpoints along the Y axis. `ALIGN_AUTO` Align Auto, Automatically choose the axis on which there is most alignment already. `ALIGN_X` Align X, Align UVs on X axis. `ALIGN_Y` Align Y, Align UVs on Y axis.

`bpy.ops.uv.``average_islands_scale`()

  Average the size of separate UV islands, based on their area in 3D space

`bpy.ops.uv.``cube_project`(cube_size=1.0, correct_aspect=True, clip_to_bounds=False, scale_to_bounds=False)

  Project the UV vertices of the mesh over the six faces of a cube

  Parameters: | cube_size (float in [0, inf], (optional)) – Cube Size, Size of the cube to project on correct_aspect (boolean, (optional)) – Correct Aspect, Map UVs taking image aspect ratio into account clip_to_bounds (boolean, (optional)) – Clip to Bounds, Clip UV coordinates to bounds after unwrapping scale_to_bounds (boolean, (optional)) – Scale to Bounds, Scale UV coordinates to bounds after unwrapping

`bpy.ops.uv.``cursor_set`(location=(0.0, 0.0))

  Set 2D cursor location

  Parameters: | location (float array of 2 items in [-inf, inf], (optional)) – Location, Cursor location in normalized (0.0-1.0) coordinates

`bpy.ops.uv.``cylinder_project`(direction='VIEW_ON_EQUATOR', align='POLAR_ZX', radius=1.0, correct_aspect=True, clip_to_bounds=False, scale_to_bounds=False)

  Project the UV vertices of the mesh over the curved wall of a cylinder

  Parameters: | direction (enum in ['VIEW_ON_EQUATOR', 'VIEW_ON_POLES', 'ALIGN_TO_OBJECT'], (optional)) – Direction, Direction of the sphere or cylinder `VIEW_ON_EQUATOR` View on Equator, 3D view is on the equator. `VIEW_ON_POLES` View on Poles, 3D view is on the poles. `ALIGN_TO_OBJECT` Align to Object, Align according to object transform. align (enum in ['POLAR_ZX', 'POLAR_ZY'], (optional)) – Align, How to determine rotation around the pole `POLAR_ZX` Polar ZX, Polar 0 is X. `POLAR_ZY` Polar ZY, Polar 0 is Y. radius (float in [0, inf], (optional)) – Radius, Radius of the sphere or cylinder correct_aspect (boolean, (optional)) – Correct Aspect, Map UVs taking image aspect ratio into account clip_to_bounds (boolean, (optional)) – Clip to Bounds, Clip UV coordinates to bounds after unwrapping scale_to_bounds (boolean, (optional)) – Scale to Bounds, Scale UV coordinates to bounds after unwrapping

`bpy.ops.uv.``export_layout`(filepath="", export_all=False, modified=False, mode='PNG', size=(1024, 1024), opacity=0.25)

  Export UV layout to file

  Parameters: | filepath (string, (optional, never None)) – filepath export_all (boolean, (optional)) – All UVs, Export all UVs in this mesh (not just visible ones) modified (boolean, (optional)) – Modified, Exports UVs from the modified mesh mode (enum in ['SVG', 'EPS', 'PNG'], (optional)) – Format, File format to export the UV layout to `SVG` Scalable Vector Graphic (.svg), Export the UV layout to a vector SVG file. `EPS` Encapsulate PostScript (.eps), Export the UV layout to a vector EPS file. `PNG` PNG Image (.png), Export the UV layout to a bitmap image. size (int array of 2 items in [8, 32768], (optional)) – size, Dimensions of the exported file opacity (float in [0, 1], (optional)) – Fill Opacity, Set amount of opacity for exported UV layout
  File: | addons/io_mesh_uv_layout/__init__.py:132

`bpy.ops.uv.``follow_active_quads`(mode='LENGTH_AVERAGE')

  Follow UVs from active quads along continuous face loops

  Parameters: | mode (enum in ['EVEN', 'LENGTH', 'LENGTH_AVERAGE'], (optional)) – Edge Length Mode, Method to space UV edge loops `EVEN` Even, Space all UVs evenly. `LENGTH` Length, Average space UVs edge length of each loop. `LENGTH_AVERAGE` Length Average, Average space UVs edge length of each loop.
  File: | startup/bl_operators/uvcalc_follow_active.py:274

`bpy.ops.uv.``hide`(unselected=False)

  Hide (un)selected UV vertices

  Parameters: | unselected (boolean, (optional)) – Unselected, Hide unselected rather than selected

`bpy.ops.uv.``lightmap_pack`(PREF_CONTEXT='SEL_FACES', PREF_PACK_IN_ONE=True, PREF_NEW_UVLAYER=False, PREF_APPLY_IMAGE=False, PREF_IMG_PX_SIZE=512, PREF_BOX_DIV=12, PREF_MARGIN_DIV=0.1)

  Pack each faces UV’s into the UV bounds

  Parameters: | PREF_CONTEXT (enum in ['SEL_FACES', 'ALL_FACES'], (optional)) – Selection `SEL_FACES` Selected Faces, Space all UVs evenly. `ALL_FACES` All Faces, Average space UVs edge length of each loop. PREF_PACK_IN_ONE (boolean, (optional)) – Share Tex Space, Objects Share texture space, map all objects into 1 uvmap PREF_NEW_UVLAYER (boolean, (optional)) – New UV Map, Create a new UV map for every mesh packed PREF_APPLY_IMAGE (boolean, (optional)) – New Image, Assign new images for every mesh (only one if shared tex space enabled) PREF_IMG_PX_SIZE (int in [64, 5000], (optional)) – Image Size, Width and Height for the new image PREF_BOX_DIV (int in [1, 48], (optional)) – Pack Quality, Pre Packing before the complex boxpack PREF_MARGIN_DIV (float in [0.001, 1], (optional)) – Margin, Size of the margin as a division of the UV
  File: | startup/bl_operators/uvcalc_lightmap.py:676

`bpy.ops.uv.``mark_seam`(clear=False)

  Mark selected UV edges as seams

  Parameters: | clear (boolean, (optional)) – Clear Seams, Clear instead of marking seams

`bpy.ops.uv.``minimize_stretch`(fill_holes=True, blend=0.0, iterations=0)

  Reduce UV stretching by relaxing angles

  Parameters: | fill_holes (boolean, (optional)) – Fill Holes, Virtual fill holes in mesh before unwrapping, to better avoid overlaps and preserve symmetry blend (float in [0, 1], (optional)) – Blend, Blend factor between stretch minimized and original iterations (int in [0, inf], (optional)) – Iterations, Number of iterations to run, 0 is unlimited when run interactively

`bpy.ops.uv.``pack_islands`(rotate=True, margin=0.001)

  Transform all islands so that they fill up the UV space as much as possible

  Parameters: | rotate (boolean, (optional)) – Rotate, Rotate islands for best fit margin (float in [0, 1], (optional)) – Margin, Space between islands

`bpy.ops.uv.``pin`(clear=False)

  Set/clear selected UV vertices as anchored between multiple unwrap operations

  Parameters: | clear (boolean, (optional)) – Clear, Clear pinning for the selection instead of setting it

`bpy.ops.uv.``project_from_view`(orthographic=False, camera_bounds=True, correct_aspect=True, clip_to_bounds=False, scale_to_bounds=False)

  Project the UV vertices of the mesh as seen in current 3D view

  Parameters: | orthographic (boolean, (optional)) – Orthographic, Use orthographic projection camera_bounds (boolean, (optional)) – Camera Bounds, Map UVs to the camera region taking resolution and aspect into account correct_aspect (boolean, (optional)) – Correct Aspect, Map UVs taking image aspect ratio into account clip_to_bounds (boolean, (optional)) – Clip to Bounds, Clip UV coordinates to bounds after unwrapping scale_to_bounds (boolean, (optional)) – Scale to Bounds, Scale UV coordinates to bounds after unwrapping

`bpy.ops.uv.``remove_doubles`(threshold=0.02, use_unselected=False)

  Selected UV vertices that are within a radius of each other are welded together

  Parameters: | threshold (float in [0, 10], (optional)) – Merge Distance, Maximum distance between welded vertices use_unselected (boolean, (optional)) – Unselected, Merge selected to other unselected vertices

`bpy.ops.uv.``reset`()

  Reset UV projection

`bpy.ops.uv.``reveal`(select=True)

  Reveal all hidden UV vertices

  Parameters: | select (boolean, (optional)) – Select

`bpy.ops.uv.``seams_from_islands`(mark_seams=True, mark_sharp=False)

  Set mesh seams according to island setup in the UV editor

  Parameters: | mark_seams (boolean, (optional)) – Mark Seams, Mark boundary edges as seams mark_sharp (boolean, (optional)) – Mark Sharp, Mark boundary edges as sharp

`bpy.ops.uv.``select`(extend=False, deselect_all=False, location=(0.0, 0.0))

  Select UV vertices

  Parameters: | extend (boolean, (optional)) – Extend, Extend selection rather than clearing the existing selection deselect_all (boolean, (optional)) – Deselect On Nothing, Deselect all when nothing under the cursor location (float array of 2 items in [-inf, inf], (optional)) – Location, Mouse location in normalized coordinates, 0.0 to 1.0 is within the image bounds

`bpy.ops.uv.``select_all`(action='TOGGLE')

  Change selection of all UV vertices

  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.uv.``select_box`(pinned=False, xmin=0, xmax=0, ymin=0, ymax=0, wait_for_input=True, mode='SET')

  Select UV vertices using box selection

  Parameters: | pinned (boolean, (optional)) – Pinned, Border select pinned UVs only xmin (int in [-inf, inf], (optional)) – X Min xmax (int in [-inf, inf], (optional)) – X Max ymin (int in [-inf, inf], (optional)) – Y Min ymax (int in [-inf, inf], (optional)) – Y Max wait_for_input (boolean, (optional)) – Wait for Input mode (enum in ['SET', 'ADD', 'SUB'], (optional)) – Mode `SET` Set, Set a new selection. `ADD` Extend, Extend existing selection. `SUB` Subtract, Subtract existing selection.

`bpy.ops.uv.``select_circle`(x=0, y=0, radius=25, wait_for_input=True, mode='SET')

  Select UV vertices using circle selection

  Parameters: | x (int in [-inf, inf], (optional)) – X y (int in [-inf, inf], (optional)) – Y radius (int in [1, inf], (optional)) – Radius wait_for_input (boolean, (optional)) – Wait for Input mode (enum in ['SET', 'ADD', 'SUB'], (optional)) – Mode `SET` Set, Set a new selection. `ADD` Extend, Extend existing selection. `SUB` Subtract, Subtract existing selection.

`bpy.ops.uv.``select_lasso`(path=None, mode='SET')

  Select UVs using lasso selection

  Parameters: | path (`bpy_prop_collection` of `OperatorMousePath`, (optional)) – Path mode (enum in ['SET', 'ADD', 'SUB'], (optional)) – Mode `SET` Set, Set a new selection. `ADD` Extend, Extend existing selection. `SUB` Subtract, Subtract existing selection.

`bpy.ops.uv.``select_less`()

  Deselect UV vertices at the boundary of each selection region

`bpy.ops.uv.``select_linked`()

  Select all UV vertices linked to the active UV map

`bpy.ops.uv.``select_linked_pick`(extend=False, deselect=False, location=(0.0, 0.0))

  Select all UV vertices linked under the mouse

  Parameters: | extend (boolean, (optional)) – Extend, Extend selection rather than clearing the existing selection deselect (boolean, (optional)) – Deselect, Deselect linked UV vertices rather than selecting them location (float array of 2 items in [-inf, inf], (optional)) – Location, Mouse location in normalized coordinates, 0.0 to 1.0 is within the image bounds

`bpy.ops.uv.``select_loop`(extend=False, location=(0.0, 0.0))

  Select a loop of connected UV vertices

  Parameters: | extend (boolean, (optional)) – Extend, Extend selection rather than clearing the existing selection location (float array of 2 items in [-inf, inf], (optional)) – Location, Mouse location in normalized coordinates, 0.0 to 1.0 is within the image bounds

`bpy.ops.uv.``select_more`()

  Select more UV vertices connected to initial selection

`bpy.ops.uv.``select_overlap`(extend=False)

  Select all UV faces which overlap each other

  Parameters: | extend (boolean, (optional)) – Extend, Extend selection rather than clearing the existing selection

`bpy.ops.uv.``select_pinned`()

  Select all pinned UV vertices

`bpy.ops.uv.``select_split`()

  Select only entirely selected faces

`bpy.ops.uv.``smart_project`(angle_limit=66.0, island_margin=0.0, user_area_weight=0.0, use_aspect=True, stretch_to_bounds=True)

  This script projection unwraps the selected faces of a mesh (it operates on all selected mesh objects, and can be used to unwrap selected faces, or all faces)

  Parameters: | angle_limit (float in [1, 89], (optional)) – Angle Limit, Lower for more projection groups, higher for less distortion island_margin (float in [0, 1], (optional)) – Island Margin, Margin to reduce bleed from adjacent islands user_area_weight (float in [0, 1], (optional)) – Area Weight, Weight projections vector by faces with larger areas use_aspect (boolean, (optional)) – Correct Aspect, Map UVs taking image aspect ratio into account stretch_to_bounds (boolean, (optional)) – Stretch to UV Bounds, Stretch the final output to texture bounds
  File: | startup/bl_operators/uvcalc_smart_project.py:1036

`bpy.ops.uv.``snap_cursor`(target='PIXELS')

  Snap cursor to target type

  Parameters: | target (enum in ['PIXELS', 'SELECTED'], (optional)) – Target, Target to snap the selected UVs to

`bpy.ops.uv.``snap_selected`(target='PIXELS')

  Snap selected UV vertices to target type

  Parameters: | target (enum in ['PIXELS', 'CURSOR', 'CURSOR_OFFSET', 'ADJACENT_UNSELECTED'], (optional)) – Target, Target to snap the selected UVs to

`bpy.ops.uv.``sphere_project`(direction='VIEW_ON_EQUATOR', align='POLAR_ZX', correct_aspect=True, clip_to_bounds=False, scale_to_bounds=False)

  Project the UV vertices of the mesh over the curved surface of a sphere

  Parameters: | direction (enum in ['VIEW_ON_EQUATOR', 'VIEW_ON_POLES', 'ALIGN_TO_OBJECT'], (optional)) – Direction, Direction of the sphere or cylinder `VIEW_ON_EQUATOR` View on Equator, 3D view is on the equator. `VIEW_ON_POLES` View on Poles, 3D view is on the poles. `ALIGN_TO_OBJECT` Align to Object, Align according to object transform. align (enum in ['POLAR_ZX', 'POLAR_ZY'], (optional)) – Align, How to determine rotation around the pole `POLAR_ZX` Polar ZX, Polar 0 is X. `POLAR_ZY` Polar ZY, Polar 0 is Y. correct_aspect (boolean, (optional)) – Correct Aspect, Map UVs taking image aspect ratio into account clip_to_bounds (boolean, (optional)) – Clip to Bounds, Clip UV coordinates to bounds after unwrapping scale_to_bounds (boolean, (optional)) – Scale to Bounds, Scale UV coordinates to bounds after unwrapping

`bpy.ops.uv.``stitch`(use_limit=False, snap_islands=True, limit=0.01, static_island=0, active_object_index=0, midpoint_snap=False, clear_seams=True, mode='VERTEX', stored_mode='VERTEX', selection=None, objects_selection_count=(0, 0, 0, 0, 0, 0))

  Stitch selected UV vertices by proximity

  Parameters: | use_limit (boolean, (optional)) – Use Limit, Stitch UVs within a specified limit distance snap_islands (boolean, (optional)) – Snap Islands, Snap islands together (on edge stitch mode, rotates the islands too) limit (float in [0, inf], (optional)) – Limit, Limit distance in normalized coordinates static_island (int in [0, inf], (optional)) – Static Island, Island that stays in place when stitching islands active_object_index (int in [0, inf], (optional)) – Active Object, Index of the active object midpoint_snap (boolean, (optional)) – Snap At Midpoint, UVs are stitched at midpoint instead of at static island clear_seams (boolean, (optional)) – Clear Seams, Clear seams of stitched edges mode (enum in ['VERTEX', 'EDGE'], (optional)) – Operation Mode, Use vertex or edge stitching stored_mode (enum in ['VERTEX', 'EDGE'], (optional)) – Stored Operation Mode, Use vertex or edge stitching selection (`bpy_prop_collection` of `SelectedUvElement`, (optional)) – Selection objects_selection_count (int array of 6 items in [0, inf], (optional)) – Objects Selection Count

`bpy.ops.uv.``unwrap`(method='ANGLE_BASED', fill_holes=True, correct_aspect=True, use_subsurf_data=False, margin=0.001)

  Unwrap the mesh of the object being edited

  Parameters: | method (enum in ['ANGLE_BASED', 'CONFORMAL'], (optional)) – Method, Unwrapping method (Angle Based usually gives better results than Conformal, while being somewhat slower) fill_holes (boolean, (optional)) – Fill Holes, Virtual fill holes in mesh before unwrapping, to better avoid overlaps and preserve symmetry correct_aspect (boolean, (optional)) – Correct Aspect, Map UVs taking image aspect ratio into account use_subsurf_data (boolean, (optional)) – Use Subsurf Modifier, Map UVs taking vertex position after Subdivision Surface modifier has been applied margin (float in [0, 1], (optional)) – Margin, Space between islands

`bpy.ops.uv.``weld`()

  Weld selected UV vertices together