forked from bartvdbraak/blender
UV operator template
This commit is contained in:
parent
fffbb2c7eb
commit
9de67b8ca9
42
release/scripts/templates/operator_uv.py
Normal file
42
release/scripts/templates/operator_uv.py
Normal file
@ -0,0 +1,42 @@
|
||||
|
||||
def main(context):
|
||||
obj = context.active_object
|
||||
mesh = obj.data
|
||||
|
||||
is_editmode = (obj.mode == 'EDIT')
|
||||
if is_editmode:
|
||||
bpy.ops.object.mode_set(mode='OBJECT', toggle=False)
|
||||
|
||||
|
||||
if not mesh.active_uv_texture:
|
||||
bpy.ops.mesh.uv_texture_add()
|
||||
|
||||
# adjust UVs
|
||||
for i, uv in enumerate(mesh.active_uv_texture.data):
|
||||
uvs = uv.uv1, uv.uv2, uv.uv3, uv.uv4
|
||||
for j, v_idx in enumerate(mesh.faces[i].verts):
|
||||
if uv.uv_selected[j]:
|
||||
# apply the location of the vertex as a UV
|
||||
uvs[j][:] = mesh.verts[v_idx].co.xy
|
||||
|
||||
|
||||
if is_editmode:
|
||||
bpy.ops.object.mode_set(mode='EDIT', toggle=False)
|
||||
|
||||
class UvOperator(bpy.types.Operator):
|
||||
''''''
|
||||
bl_idname = "uv.simple_operator"
|
||||
bl_label = "Simple Object Operator"
|
||||
|
||||
def poll(self, context):
|
||||
obj = context.active_object
|
||||
return (obj and obj.type == 'MESH')
|
||||
|
||||
def execute(self, context):
|
||||
main(context)
|
||||
return {'FINISHED'}
|
||||
|
||||
bpy.types.register(UvOperator)
|
||||
|
||||
if __name__ == "__main__":
|
||||
bpy.ops.uv.simple_operator()
|
Loading…
Reference in New Issue
Block a user