[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [4019] trunk/py/scripts/addons/ io_import_scene_mhx.py: MHX importer: the idea to use rna props did not pan out, because it lead to errors when a saved blend file with an mh character was reloaded .
Thomas Larsson
thomas_larsson_01 at hotmail.com
Fri Nov 30 06:44:18 CET 2012
Revision: 4019
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=4019
Author: thomasl
Date: 2012-11-30 05:44:17 +0000 (Fri, 30 Nov 2012)
Log Message:
-----------
MHX importer: the idea to use rna props did not pan out, because it lead to errors when a saved blend file with an mh character was reloaded. Fixed that.
Modified Paths:
--------------
trunk/py/scripts/addons/io_import_scene_mhx.py
Modified: trunk/py/scripts/addons/io_import_scene_mhx.py
===================================================================
--- trunk/py/scripts/addons/io_import_scene_mhx.py 2012-11-28 17:42:03 UTC (rev 4018)
+++ trunk/py/scripts/addons/io_import_scene_mhx.py 2012-11-30 05:44:17 UTC (rev 4019)
@@ -2166,7 +2166,7 @@
if string.startswith(("Mha", "Mhf", "Mhs", "Mhh", "Mhv", "Mhc")):
name = string.replace("-","_")
- return name, name
+ return name, '["%s"]' % name
elif string[0] == "_":
return None,None
else:
@@ -2190,6 +2190,11 @@
exec(expr, glbals, lcals)
+def defNewProp(name, proptype, rest):
+ expr = 'bpy.types.Object.%s = %sProperty(%s)' % (name, proptype, rest)
+ print(expr)
+ exec(expr)
+
def setProperty(args, var, glbals, lcals):
global theProperty
@@ -3890,7 +3895,7 @@
layout.separator()
for prop in props:
row = layout.split(0.85)
- row.prop(rig, prop, text=prop[3:])
+ row.prop(rig, '["%s"]' % prop, text=prop[3:])
row.operator("mhx.pose_pin_expression", text="", icon='UNPINNED').data = (prefix + ";" + prop)
return
@@ -4394,7 +4399,7 @@
ob = context.object
layout = self.layout
for prop in props:
- layout.prop(ob, prop, text=prop[3:])
+ layout.prop(ob, '["%s"]' % prop, text=prop[3:])
layout.separator()
row = layout.row()
@@ -4402,14 +4407,14 @@
row.label("Right")
for prop in lrProps:
row = layout.row()
- row.prop(ob, prop+"_L", text=prop[3:])
- row.prop(ob, prop+"_R", text=prop[3:])
+ row.prop(ob, '["%s"]' % (prop+"_L"), text=prop[3:])
+ row.prop(ob, '["%s"]' % (prop+"_R"), text=prop[3:])
if faceProps:
layout.separator()
layout.label("Face shapes")
for prop in faceProps:
- layout.prop(ob, prop, text=prop[3:])
+ layout.prop(ob, '["%s"]' % prop, text=prop[3:])
layout.separator()
row = layout.row()
@@ -4417,8 +4422,8 @@
row.label("Right")
for prop in lrFaceProps:
row = layout.row()
- row.prop(ob, prop+"_L", text=prop[3:])
- row.prop(ob, prop+"_R", text=prop[3:])
+ row.prop(ob, '["%s"]' % (prop+"_L"), text=prop[3:])
+ row.prop(ob, '["%s"]' % (prop+"_R"), text=prop[3:])
return
@@ -4448,7 +4453,7 @@
props.sort()
for prop in props:
if prop[0:3] == "Mhh":
- layout.prop(ob, prop, text="Hide %s" % prop[3:])
+ layout.prop(ob, '["%s"]' % prop, text="Hide %s" % prop[3:])
layout.separator()
layout.operator("mhx.update_textures")
layout.separator()
@@ -4486,6 +4491,7 @@
for ob in context.scene.objects:
if ob.select and ob != rig:
prop = "Mhh%s" % ob.name
+ defNewProp(prop, "Bool", "default=False")
rig[prop] = False
addHider(ob, "hide", rig, prop)
addHider(ob, "hide_render", rig, prop)
More information about the Bf-extensions-cvs
mailing list