[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [3664] contrib/py/scripts/addons/ add_mesh_chain_rope/oscurart_chain_maker.py: Remove warnings in Chain Maker and Clean Code

Eugenio Pignataro info at oscurart.com.ar
Fri Aug 3 14:30:51 CEST 2012


Revision: 3664
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=3664
Author:   oscurart
Date:     2012-08-03 12:30:50 +0000 (Fri, 03 Aug 2012)
Log Message:
-----------
Remove warnings in Chain Maker and Clean Code

Modified Paths:
--------------
    contrib/py/scripts/addons/add_mesh_chain_rope/oscurart_chain_maker.py

Modified: contrib/py/scripts/addons/add_mesh_chain_rope/oscurart_chain_maker.py
===================================================================
--- contrib/py/scripts/addons/add_mesh_chain_rope/oscurart_chain_maker.py	2012-08-03 10:29:30 UTC (rev 3663)
+++ contrib/py/scripts/addons/add_mesh_chain_rope/oscurart_chain_maker.py	2012-08-03 12:30:50 UTC (rev 3664)
@@ -36,12 +36,12 @@
 import bpy
 
 
-def makeChain (context, mult, curverig): 
-    
+def makeChain (self, context, mult, curverig):     
+
+    if bpy.context.active_object.type == 'ARMATURE':                
         bpy.ops.object.mode_set(mode='OBJECT')      
         VAR_SWITCH=abs(1)
-        ARMATURE=bpy.context.active_object
-        
+        ARMATURE=bpy.context.active_object        
         def creahuesocero(hueso):
             ## CREO DATA PARA ESLABON
             mesh=bpy.data.meshes.new("objectData"+str(hueso.name))
@@ -53,14 +53,11 @@
             )
             bpy.context.scene.objects.link(object)
             ## ESCALO EL HUESO
-            bpy.data.objects['EslabonCero'+str(hueso.name)].scale= (hueso.length*mult,hueso.length*mult,hueso.length*mult)
-            
+            bpy.data.objects['EslabonCero'+str(hueso.name)].scale= (hueso.length*mult,hueso.length*mult,hueso.length*mult)            
             ## EMPARENTO
             bpy.data.objects['EslabonCero'+str(hueso.name)].parent=ARMATURE
             bpy.data.objects['EslabonCero'+str(hueso.name)].parent_type = 'BONE'
-            bpy.data.objects['EslabonCero'+str(hueso.name)].parent_bone=hueso.name   
-        
-        
+            bpy.data.objects['EslabonCero'+str(hueso.name)].parent_bone=hueso.name           
         def creahuesonoventa(hueso):
             ## CREO DATA PARA ESLABON
             mesh=bpy.data.meshes.new("objectData"+str(hueso.name))
@@ -70,18 +67,14 @@
             [(1,2),(0,3),(3,5),(2,4),(0,6),(5,6),(1,7),(4,7),(0,8),(1,8),(7,9),(6,9),(8,9),(2,10),(3,10),(4,11),(5,11),(10,11),(5,12),(12,13),(11,13),(13,14),(4,14),(10,16),(15,16),(3,15),(2,17),(16,17),(9,19),(18,19),(6,18),(7,20),(19,20),(8,22),(21,22),(1,21),(0,23),(22,23),(14,20),(12,18),(15,23),(17,21),(12,15),(13,16),(14,17),(20,21),(19,22),(18,23)],
             [(6,0,3,5),(1,7,4,2),(0,6,9,8),(8,9,7,1),(2,4,11,10),(10,11,5,3),(11,13,12,5),(4,14,13,11),(3,15,16,10),(10,16,17,2),(6,18,19,9),(9,19,20,7),(1,21,22,8),(23,0,8,22),(7,20,14,4),(5,12,18,6),(0,23,15,3),(2,17,21,1),(16,15,12,13),(17,16,13,14),(22,21,20,19),(23,22,19,18),(21,17,14,20),(15,23,18,12)]
             )
-            bpy.context.scene.objects.link(object)
-            
+            bpy.context.scene.objects.link(object)            
             ## ESCALO EL HUESO
-            bpy.data.objects['EslabonNov'+str(hueso.name)].scale= (hueso.length*mult,hueso.length*mult,hueso.length*mult)
-        
+            bpy.data.objects['EslabonNov'+str(hueso.name)].scale= (hueso.length*mult,hueso.length*mult,hueso.length*mult)        
             ## EMPARENTO
             bpy.data.objects['EslabonNov'+str(hueso.name)].parent=ARMATURE
             bpy.data.objects['EslabonNov'+str(hueso.name)].parent_type = 'BONE'
-            bpy.data.objects['EslabonNov'+str(hueso.name)].parent_bone=hueso.name   
+            bpy.data.objects['EslabonNov'+str(hueso.name)].parent_bone=hueso.name         
         
-        
-        
         for hueso in bpy.context.active_object.pose.bones:
             if VAR_SWITCH == 1:
                 creahuesocero(hueso)
@@ -92,45 +85,31 @@
                 print(VAR_SWITCH)
             else :
                 VAR_SWITCH = 1
-                print(VAR_SWITCH)
-                    
-                    
+                print(VAR_SWITCH)                      
         # SI NO TILDAMOS CURVERIG
-        if curverig == True:   
-                        
-                        
+        if curverig == True:                           
             # VARIABLES
             LISTA_POINTC=[]
-            ACTARM=bpy.context.active_object
-            
+            ACTARM=bpy.context.active_object            
             # CREO DATA , OBJETO Y LO CONECTO A LA ESCENA
             crv= bpy.data.curves.new("CurvaCable", "CURVE")
             obCable=bpy.data.objects.new("Cable",crv)
-            bpy.context.scene.objects.link(obCable)
-            
+            bpy.context.scene.objects.link(obCable)            
             # SETEO ATRIBUTOS
             crv.dimensions = "3D"
             crv.resolution_u = 10
             crv.resolution_v = 10
-            crv.twist_mode = "MINIMUM"
-            
-            
-            # CREO LISTA DE COORDENADAS DE TAIL Y HEAD
-            
+            crv.twist_mode = "MINIMUM"            
+            # CREO LISTA DE COORDENADAS DE TAIL Y HEAD            
             LISTA_POINTC.append((
                 ACTARM.data.bones[0].head_local[0],
                 ACTARM.data.bones[0].head_local[1],
                 ACTARM.data.bones[0].head_local[2],
                 1
-            ))
-            
+            ))            
             print("huesos: "+ str(len(ACTARM.data.bones)))
             for hueso in ACTARM.data.bones:
-                LISTA_POINTC.append((hueso.tail_local[0],hueso.tail_local[1],hueso.tail_local[2],1))
-                
-            print(LISTA_POINTC)
-            
-            
+                LISTA_POINTC.append((hueso.tail_local[0],hueso.tail_local[1],hueso.tail_local[2],1))               
             # CREO EL SPLINE
             spline=crv.splines.new("NURBS")
             lencoord= len(LISTA_POINTC)
@@ -140,30 +119,21 @@
             for punto in rango:
                 spline.points[punto].co = LISTA_POINTC[punto]
                 print(LISTA_POINTC[punto])
-            
             # SETEO ENDPOINT
-            bpy.data.objects['Cable'].data.splines[0].use_endpoint_u= True
-            
+            bpy.data.objects['Cable'].data.splines[0].use_endpoint_u= True            
             # SELECCIONO LA CURVA
             bpy.ops.object.select_all(action='DESELECT')
             bpy.data.objects['Cable'].select=1
-            bpy.context.scene.objects.active=bpy.data.objects['Cable']
-            
+            bpy.context.scene.objects.active=bpy.data.objects['Cable']            
             # PASO A EDIT
-            bpy.ops.object.mode_set(mode='EDIT')
-            
-            
+            bpy.ops.object.mode_set(mode='EDIT')            
             # CREO HOOKS
             POINTSTEP=0
             for POINT in bpy.data.objects['Cable'].data.splines[0].points:
                 bpy.ops.curve.select_all(action="DESELECT")
                 bpy.data.objects['Cable'].data.splines[0].points[POINTSTEP].select=1
                 bpy.ops.object.hook_add_newob()
-                POINTSTEP+=1
-            
-            
-                print(POINT)
-            
+                POINTSTEP+=1            
             # PASO A SELECCIONAR LOS OBJETOS
             bpy.ops.object.mode_set(mode='OBJECT')
             bpy.ops.object.select_all(action='DESELECT')
@@ -179,8 +149,10 @@
             ACTARM.pose.bones[-1].constraints['Spline IK'].chain_count=100
             bpy.context.active_object.pose.bones[-1].constraints['Spline IK'].use_y_stretch= False     
             # VUELVO A OBJECT MODE
-            bpy.ops.object.mode_set(mode='OBJECT')		
-                         
+            bpy.ops.object.mode_set(mode='OBJECT')	
+    else:
+        self.report({'WARNING'}, "Active Object must be an Armature")            	
+                             
             
 #---------------        
 from bpy.props import *
@@ -195,11 +167,10 @@
 
     @classmethod
     def poll(cls, context):
-        return(bpy.context.active_object.type == "ARMATURE" ) 
+        return (context.object is not None)       
     
     def execute(self, context):
-        makeChain(context, 
-            self.multiplier,self.curverig)
+        makeChain(self, context, self.multiplier,self.curverig)
         return {'FINISHED'}
     
 def menu_oscChain(self, context):



More information about the Bf-extensions-cvs mailing list