forked from bartvdbraak/blender
[#18082] make uvcalc_follow_active_coords.py bypass the gui and accept arguments when called from another script
from Bill N (slow67) Also made uvcalc_quad_clickproj.py and uvcalc_follow_active_coords.py add UV's if they didn't exist.
This commit is contained in:
parent
278d6758ea
commit
ae15fc5e46
@ -42,28 +42,15 @@ from Blender import *
|
||||
import bpy
|
||||
import BPyMesh
|
||||
|
||||
def extend():
|
||||
sce = bpy.data.scenes.active
|
||||
ob = sce.objects.active
|
||||
|
||||
# print ob, ob.type
|
||||
if ob == None or ob.type != 'Mesh':
|
||||
Draw.PupMenu('ERROR: No mesh object.')
|
||||
def extend(EXTEND_MODE,ob):
|
||||
if EXTEND_MODE == -1:
|
||||
return
|
||||
|
||||
# Toggle Edit mode
|
||||
me = ob.getData(mesh=1)
|
||||
me_verts = me.verts
|
||||
# Toggle Edit mode
|
||||
is_editmode = Window.EditMode()
|
||||
if is_editmode:
|
||||
Window.EditMode(0)
|
||||
|
||||
me = ob.getData(mesh=1)
|
||||
me_verts = me.verts
|
||||
|
||||
# 0:normal extend, 1:edge length
|
||||
EXTEND_MODE = Draw.PupMenu("Use Face Area%t|Loop Average%x2|None%x0")
|
||||
if EXTEND_MODE == -1:
|
||||
return
|
||||
|
||||
Window.WaitCursor(1)
|
||||
t = sys.time()
|
||||
edge_average_lengths = {}
|
||||
@ -153,8 +140,7 @@ def extend():
|
||||
uvs_vhash_target[edgepair_outer_target[iA]][:] = uvs_vhash_source[edgepair_inner_source[1]] + (uvs_vhash_source[edgepair_inner_source[1]] - uvs_vhash_source[edgepair_outer_source[0]])
|
||||
|
||||
if not me.faceUV:
|
||||
Draw.PupMenu('ERROR: Mesh has no face UV coords.')
|
||||
return
|
||||
me.faceUV= True
|
||||
|
||||
face_act = me.activeFace
|
||||
if face_act == -1:
|
||||
@ -247,7 +233,22 @@ def extend():
|
||||
Window.RedrawAll()
|
||||
Window.WaitCursor(0)
|
||||
|
||||
if __name__ == '__main__':
|
||||
extend()
|
||||
|
||||
def main():
|
||||
sce = bpy.data.scenes.active
|
||||
ob = sce.objects.active
|
||||
|
||||
|
||||
# print ob, ob.type
|
||||
if ob == None or ob.type != 'Mesh':
|
||||
Draw.PupMenu('ERROR: No mesh object.')
|
||||
return
|
||||
|
||||
|
||||
|
||||
# 0:normal extend, 1:edge length
|
||||
EXTEND_MODE = Draw.PupMenu("Use Face Area%t|Loop Average%x2|None%x0")
|
||||
extend(EXTEND_MODE,ob)
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
||||
|
@ -171,6 +171,9 @@ def main():
|
||||
f_uv = f.uv
|
||||
return [(v.co-face_corner_main, f_uv[i]) for i,v in enumerate(f.v)]
|
||||
|
||||
if me.faceUV==False:
|
||||
me.faceUV= True
|
||||
|
||||
coords = [ (co,uv) for f in me.faces if f.sel for co, uv in get_face_coords(f)]
|
||||
|
||||
coords_orig = [uv.copy() for co, uv in coords]
|
||||
@ -264,4 +267,5 @@ def main():
|
||||
|
||||
if __name__=='__main__':
|
||||
main()
|
||||
Window.DrawProgressBar(1.0, '')
|
||||
Window.DrawProgressBar(1.0, '')
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user