[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18460] trunk/blender/release/scripts: [ #18082] make uvcalc_follow_active_coords. py bypass the gui and accept arguments when called from another script

Campbell Barton ideasman42 at gmail.com
Mon Jan 12 05:07:12 CET 2009


Revision: 18460
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18460
Author:   campbellbarton
Date:     2009-01-12 05:07:06 +0100 (Mon, 12 Jan 2009)

Log Message:
-----------
[#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.

Modified Paths:
--------------
    trunk/blender/release/scripts/uvcalc_follow_active_coords.py
    trunk/blender/release/scripts/uvcalc_quad_clickproj.py

Modified: trunk/blender/release/scripts/uvcalc_follow_active_coords.py
===================================================================
--- trunk/blender/release/scripts/uvcalc_follow_active_coords.py	2009-01-12 01:02:52 UTC (rev 18459)
+++ trunk/blender/release/scripts/uvcalc_follow_active_coords.py	2009-01-12 04:07:06 UTC (rev 18460)
@@ -42,28 +42,15 @@
 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 @@
 			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 @@
 	Window.RedrawAll()
 	Window.WaitCursor(0)
 
+
+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__':
-	extend()
-	
-	
\ No newline at end of file
+	main()
+

Modified: trunk/blender/release/scripts/uvcalc_quad_clickproj.py
===================================================================
--- trunk/blender/release/scripts/uvcalc_quad_clickproj.py	2009-01-12 01:02:52 UTC (rev 18459)
+++ trunk/blender/release/scripts/uvcalc_quad_clickproj.py	2009-01-12 04:07:06 UTC (rev 18460)
@@ -171,6 +171,9 @@
 		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 @@
 	
 if __name__=='__main__':
 	main()
-	Window.DrawProgressBar(1.0, '')
\ No newline at end of file
+	Window.DrawProgressBar(1.0, '')
+





More information about the Bf-blender-cvs mailing list