Blender (jusqu'à 2.49)
Python

macro : 
ajoute un modificateur (modifier) armature
à la série d'objets sélectionnés

    Début   Index
précédentScript Python
script/macro Suivant
Voir ausi : Modifier Type Values
                Trouve_à quelle armature
#!BPY

# """
# Name: 'Add armature modifier''
# Blender: 245
# Group: 'Animation'
# Tooltip: 'Add the selected armature to the selected object.'
# """

# -*- coding: Latin-1 -*-

__author__ = 'Jm Soler'
__version__ = '0.0.1 2008/04/26'
__url__ = ["""jms's site, http://jmsoler.free.fr/didacticiel/blender/tutor/bpy_massive_add_armature.htm""",
    """Support forum, http://www.zoo-logique.org/3D.Blender/newsportal/thread.php?group=3D.Blender""" ]
__email__ = ["jms, jmsoler:free.fr"]
__bpydoc__ = """\

This macro adds a modifier armature to all the selected objets (if they can support 
modifier).

Cette macro ajoute un modificateur armature à tous les objets sélectionnés (s\'ils peuvent supporter ce type de modificiateur). 

How to:
      select a lot of mesh, curve, surface Blender objects and, 
      at least, an armature. Then, just call this script. 

      Sélectionnez un certain nombre d'objet de type maillage, 
      courbe ou surface et, au moins, une armature. Ensuite, 
      il suffit d'appeler le script. 
 """ 

import Blender

# prendre la scene courante
scene = Blender.Scene.GetCurrent()

# dans les objets de la scene courante
# vérifier qu'il y ait bien une armature
Armature= [ob for ob in scene.objects.selected if ob.type=='Armature']

# si c'est le cas (la liste n'est pas vide)
if Armature :
 # on crée un drapeau
  AJOUT=0

  # pour tous les objets de la liste...
  for objet in scene.objects.selected:

   # .. si on obje est soit un mesh, soit une coube soit une surface
   # et, surtout si l'armature n'est pas déjà lié à cet objet...
   if objet.type in ['Mesh','Curve','Surface'] and\
       len([m for m in objet.modifiers if m != Blender.Modifier.Types.ARMATURE])==0:

         # on ajoute un modificateur aramture
         # dans la liste de l'objet
         objet.modifiers.append(Blender.Modifier.Types.ARMATURE)

         # On précise qu'il s'agit de la première armature 
         # trouvé ci-dessus.
         objet.modifiers[-1][Blender.Modifier.Settings.OBJECT] =Armature[0]

         objet.makeDisplayList()

         # on augmente la valeur du drapeau
         AJOUT+=1

  # si le drapeau est activé, donc supérieur à 1
  # on force l'interface graphique à se redessiner 
  if AJOUT : 
     Blender.Window.RedrawAll()
 


 
précédentScript Python
 script/macro Suivant
Vers le  Haut de page

Les questions concernant cette page  peuvent être posées sur  :
 news://news.zoo-logique.org/3D.Blender


 

 

Livre en français
Blender : apprenez, pratiquez, Créez, livre, Ed. Campus Press, coll. Starter Kit
Blender Starter Kit

Forum
FAQ
Lexique
Didacticiels
Compilations
Blender2KT
Débuter
Modelage
Blender python
Materiaux
Lumière
Animation
API python (eng)
Archives nzn
Statistiques
Doc flash Sculptris
Galerie Sculptris

mon site de démos sur youtube