render layer saving script assumed scriptsdir existed.

apply def script assumed the mesh had all the objects vertex groups.
This commit is contained in:
2008-05-09 17:13:03 +00:00
parent a9d5f74f4b
commit 694dce0e63
2 changed files with 13 additions and 5 deletions

View File

@@ -77,7 +77,11 @@ def copy_vgroups(source_ob, target_ob):
for vgroupname in vgroups: for vgroupname in vgroups:
target_me.addVertGroup(vgroupname) target_me.addVertGroup(vgroupname)
if len(target_me.verts) == len(source_me.verts): if len(target_me.verts) == len(source_me.verts):
vlist = source_me.getVertsFromGroup(vgroupname, True) try: # in rare cases this can raise an 'no deform groups assigned to mesh' error
vlist = source_me.getVertsFromGroup(vgroupname, True)
except:
vlist = []
try: try:
for vpair in vlist: for vpair in vlist:
target_me.assignVertsToGroup(vgroupname, [vpair[0]], vpair[1], ADD) target_me.assignVertsToGroup(vgroupname, [vpair[0]], vpair[1], ADD)
@@ -171,4 +175,4 @@ def apply_deform():
Blender.Window.RedrawAll() Blender.Window.RedrawAll()
if __name__=='__main__': if __name__=='__main__':
apply_deform() apply_deform()

View File

@@ -47,8 +47,12 @@ rend = sce.render
# default filename: theme's name + '_theme.py' in user's scripts dir: # default filename: theme's name + '_theme.py' in user's scripts dir:
default_fname = Blender.Get("scriptsdir") default_fname = Blender.Get("scriptsdir")
default_fname = Blender.sys.join(default_fname, sce.name + '_renderlayer.py') if not default_fname:
default_fname = default_fname.replace(' ','_') default_fname = Blender.Get("uscriptsdir")
if default_fname:
default_fname = Blender.sys.join(default_fname, sce.name + '_renderlayer.py')
default_fname = default_fname.replace(' ','_')
def write_renderlayers(filename): def write_renderlayers(filename):
"Write the current renderlayer as a bpython script" "Write the current renderlayer as a bpython script"
@@ -113,4 +117,4 @@ rend = sce.render
except: except:
Blender.Draw.PupMenu("Warning - check console!%t|Menus could not be automatically updated") Blender.Draw.PupMenu("Warning - check console!%t|Menus could not be automatically updated")
FileSelector(write_renderlayers, "Save RenderLayers", default_fname) FileSelector(write_renderlayers, "Save RenderLayers", default_fname)