OSDN Git Service

implement pmd_import bone group.
[meshio/meshio.git] / swig / blender / bl25.py
index c297838..2389b80 100755 (executable)
@@ -34,9 +34,12 @@ def message(msg):
 def enterEditMode():
     bpy.ops.object.mode_set(mode='EDIT', toggle=False)
 
-def exitEditMode():
+def enterObjectMode():
     bpy.ops.object.mode_set(mode='OBJECT', toggle=False)
 
+def enterPoseMode():
+    bpy.ops.object.mode_set(mode='POSE', toggle=False)
+
 def createVector(x, y, z):
     return mathutils.Vector([x, y, z])
 
@@ -224,6 +227,18 @@ class object:
         o.add_vertex_to_group(index, 
                     o.vertex_groups[name], weight, 'ADD')
 
+    @staticmethod
+    def createBoneGroup(o, name, color_set='DEFAULT'):
+        # create group
+        object.activate(o)
+        enterPoseMode()
+        bpy.ops.pose.group_add()
+        # set name
+        pose=object.getPose(o)
+        g=pose.active_bone_group
+        g.name=name
+        g.color_set=color_set
+
 
 class modifier:
     @staticmethod
@@ -388,14 +403,14 @@ class mesh:
     def vertsDelete(mesh, remove_vertices):
         enterEditMode()
         bpy.ops.mesh.select_all(action='DESELECT')
-        exitEditMode()
+        enterObjectMode()
 
         for i in remove_vertices:
             mesh.verts[i].selected=True
 
         enterEditMode()
         bpy.ops.mesh.delete(type='VERT')
-        exitEditMode()
+        enterObjectMode()
 
     @staticmethod
     def setSmooth(mesh, smoothing):
@@ -408,7 +423,7 @@ class mesh:
         object.activate(mesh_object)
         enterEditMode()
         bpy.ops.mesh.normals_make_consistent()
-        exitEditMode()
+        enterObjectMode()
 
     @staticmethod
     def flipNormals(mesh):
@@ -478,7 +493,8 @@ class armature:
 
         armature_object.x_ray=True
         armature.draw_names=True
-        armature.drawtype='OCTAHEDRAL'
+        #armature.drawtype='OCTAHEDRAL'
+        armature.drawtype='STICK'
         armature.deform_envelope=False
         armature.deform_vertexgroups=True
         armature.x_axis_mirror=True