[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [1765] trunk/py/scripts/addons/ io_export_unreal_psk_psa.py: Added rebuild armature button bones from scrape selected armature.

John Phan darkneter at gmail.com
Fri Apr 1 19:16:26 CEST 2011


Revision: 1765
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=1765
Author:   darknet
Date:     2011-04-01 17:16:26 +0000 (Fri, 01 Apr 2011)
Log Message:
-----------
Added rebuild armature button bones from scrape selected armature.

Modified Paths:
--------------
    trunk/py/scripts/addons/io_export_unreal_psk_psa.py

Modified: trunk/py/scripts/addons/io_export_unreal_psk_psa.py
===================================================================
--- trunk/py/scripts/addons/io_export_unreal_psk_psa.py	2011-04-01 17:08:05 UTC (rev 1764)
+++ trunk/py/scripts/addons/io_export_unreal_psk_psa.py	2011-04-01 17:16:26 UTC (rev 1765)
@@ -1923,6 +1923,7 @@
                 layout.label(text="Match Found: " + str(actionsetmatchcount))
         
         layout.operator(OBJECT_OT_UTSelectedFaceSmooth.bl_idname)
+        layout.operator(OBJECT_OT_UTRebuildArmature.bl_idname)
         #row = layout.row()
         #row.label(text="Action Set(s)(not build)")
         #for action in  bpy.data.actions:
@@ -1999,7 +2000,97 @@
         #objects = bpy.data.objects
         
         return{'FINISHED'}
-
+		
+class OBJECT_OT_UTRebuildArmature(bpy.types.Operator):
+    bl_idname = "object.utrebuildarmature"  # XXX, name???
+    bl_label = "Rebuild Armature"
+    __doc__ = "Roll bone rotation not working yet. It rebuild the select armature object scrape to raw setup build."
+    
+    def invoke(self, context, event):
+        #print("Init Export Script:")
+        
+        for obj in bpy.data.objects:
+            #print(dir(obj))
+            if obj.type == 'ARMATURE' and obj.select == True:
+                print("Armature Name:",obj.name)
+                #print(dir(obj.data))
+                objectname = "armaturedata"
+                meshname ="ArmatureObject"
+                armdata = bpy.data.armatures.new(objectname)
+                ob_new = bpy.data.objects.new(meshname, armdata)
+                bpy.context.scene.objects.link(ob_new)
+                for i in bpy.context.scene.objects: i.select = False #deselect all objects
+                ob_new.select = True
+                bpy.context.scene.objects.active = ob_new
+                bpy.ops.object.mode_set(mode='OBJECT')
+                #bpy.ops.object.mode_set(mode='EDIT')
+                print("number of bones:",len(obj.data.edit_bones))
+                #for ib in range(len( obj.data.bones)):
+                    #print("bone name:",obj.data.edit_bones[ib].name)
+                    #print("bone name:",dir(bone))
+                    #editbone = obj.data.edit_bones[ib]
+                    #print("bone dir",dir(editbone))
+				
+				
+                #bpy.ops.object.mode_set(mode='EDIT')
+                print("=====================")
+                #for bone in obj.data.edit_bones:
+                    #print("bone name:",bone.name)
+                    #print("edit bone name:",dir(bone))
+                print("=====================")
+                print("data object:",dir(obj.data))
+                bpy.ops.object.mode_set(mode='EDIT')
+                for bone in obj.data.bones:
+                    print("bone name:",bone.name)
+                    bpy.ops.object.mode_set(mode='EDIT')
+                    newbone = ob_new.data.edit_bones.new(bone.name)
+                    #print("parent:",bone.parent.name)
+                    newbone.head = bone.head
+                    newbone.tail = bone.tail
+                    #newbone.roll = bone.roll
+                    print(dir(bone))
+                    #print((bone.bbone_z))
+                    #newbone.matrix = bone.matrix
+                    newbone.roll = bone.bbone_z
+                    if bone.parent != None:
+                        print("Found!",bone.parent.name)
+                        parentbone = ob_new.data.edit_bones[bone.parent.name]
+                        newbone.parent = parentbone						
+                    else:
+                        print("Not found!")
+                    newbone.head = bone.head_local
+                    newbone.tail = bone.tail_local
+                    #newbone.matrix = bone.matrix_local
+                    
+                    #print(dir(newbone))
+                    
+                    #if  bone.name != bone.parent:
+                        #print("parent:",bone.parent.name)
+                        #parentbone = ob_new.data.edit_bones[bone.parent]
+                        #newbone.parent = parentbone
+						
+                '''
+                bpy.ops.object.mode_set(mode='OBJECT')#it need to go into object mode to able to select the faces
+                #print("Mesh found!",obj.name)
+                #print(len(obj.data.faces))
+                for face in obj.data.faces:
+                    #print(dir(face))
+                    if face.use_smooth == True:
+                        face.select = True
+                        #print("selected:",face.select)
+                    else:
+                        face.select = False
+                    #print("selected:",face.select)
+                    #print(("smooth:",face.use_smooth))
+                #bpy.context.scene.update()
+                bpy.ops.object.mode_set(mode='EDIT')
+                '''
+                #bpy.context.scene.objects.link(ob_new)
+                bpy.context.scene.update()
+                break
+        #objects = bpy.data.objects
+        
+        return{'FINISHED'}
 def menu_func(self, context):
     #bpy.context.scene.unrealexportpsk = True
     #bpy.context.scene.unrealexportpsa = True



More information about the Bf-extensions-cvs mailing list