[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [3915] contrib/py/scripts/addons/ oscurart_tools.py: Add only selected shape in split shapes
Eugenio Pignataro
info at oscurart.com.ar
Fri Nov 2 02:54:49 CET 2012
Revision: 3915
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=3915
Author: oscurart
Date: 2012-11-02 01:54:44 +0000 (Fri, 02 Nov 2012)
Log Message:
-----------
Add only selected shape in split shapes
Modified Paths:
--------------
contrib/py/scripts/addons/oscurart_tools.py
Modified: contrib/py/scripts/addons/oscurart_tools.py
===================================================================
--- contrib/py/scripts/addons/oscurart_tools.py 2012-11-01 19:17:01 UTC (rev 3914)
+++ contrib/py/scripts/addons/oscurart_tools.py 2012-11-02 01:54:44 UTC (rev 3915)
@@ -405,36 +405,62 @@
##-----------------------------------CREATE SHAPES----------------
-class CreaShapes(bpy.types.Operator):
- bl_idname = "mesh.split_lr_shapes_osc"
- bl_label = "Split LR Shapes"
- bl_options = {"REGISTER", "UNDO"}
- def execute(self, context):
- ## VARIABLES
- ACTOBJ=bpy.context.active_object
- LENKB=len(ACTOBJ.data.shape_keys.key_blocks)
- """
- ## RECORTO NOMBRES
- for SHAPE in ACTOBJ.data.shape_keys.key_blocks:
- if len(SHAPE.name) > 7:
- SHAPE.name=SHAPE.name[:8]
- """
+def DefSplitShapes(self,ACTIVESHAPE,INDEX):
+ ## VARIABLES
+ ACTOBJ=bpy.context.active_object
+ LENKB=len(ACTOBJ.data.shape_keys.key_blocks)
+
+ ## RECORTO NOMBRES
+ for SHAPE in ACTOBJ.data.shape_keys.key_blocks:
+ if len(SHAPE.name) > 7:
+ SHAPE.name=SHAPE.name[:8]
+
+ if ACTIVESHAPE:
+ print(INDEX)
+ ACTOBJ.active_shape_key_index=INDEX
+ AS=ACTOBJ.active_shape_key
+ AS.value=1
+ bpy.ops.object.shape_key_add(from_mix=True)
+ ACTOBJ.data.shape_keys.key_blocks[-1].name=AS.name[:8]+"_L"
+ ACTOBJ.data.shape_keys.key_blocks[-1].vertex_group="_L"
+ bpy.ops.object.shape_key_add(from_mix=True)
+ ACTOBJ.data.shape_keys.key_blocks[-1].name=AS.name[:8]+"_R"
+ ACTOBJ.data.shape_keys.key_blocks[-1].vertex_group="_R"
+ bpy.ops.object.shape_key_clear()
+
+ else:
## DUPLICO SHAPES Y CONECTO GRUPO
for SHAPE in ACTOBJ.data.shape_keys.key_blocks[1:]:
SHAPE.value=1
bpy.ops.object.shape_key_add(from_mix=True)
- ACTOBJ.data.shape_keys.key_blocks[-1].name=SHAPE.name+"_L"
+ ACTOBJ.data.shape_keys.key_blocks[-1].name=SHAPE.name[:8]+"_L"
ACTOBJ.data.shape_keys.key_blocks[-1].vertex_group="_L"
bpy.ops.object.shape_key_add(from_mix=True)
- ACTOBJ.data.shape_keys.key_blocks[-1].name=SHAPE.name+"_R"
+ ACTOBJ.data.shape_keys.key_blocks[-1].name=SHAPE.name[:8]+"_R"
ACTOBJ.data.shape_keys.key_blocks[-1].vertex_group="_R"
bpy.ops.object.shape_key_clear()
+
+ print("OPERACION TERMINADA")
- print("OPERACION TERMINADA")
+class CreaShapes(bpy.types.Operator):
+ bl_idname = "mesh.split_lr_shapes_osc"
+ bl_label = "Split LR Shapes"
+ bl_options = {"REGISTER", "UNDO"}
+
+ @classmethod
+ def poll(cls, context):
+ return context.object is not None
+
+ activeshape=bpy.props.BoolProperty(name="Only Active Shape", default=False)
+
+
+ def execute(self, context):
+ self.index=bpy.context.object.active_shape_key_index
+ DefSplitShapes(self,self.activeshape,self.index)
+
return {'FINISHED'}
-
##----------------------------SHAPES LAYOUT-----------------------
class CreaShapesLayout(bpy.types.Operator):
@@ -2495,4 +2521,4 @@
if __name__ == "__main__":
- register()
+ register()
\ No newline at end of file
More information about the Bf-extensions-cvs
mailing list