Blender (jusqu'à 2.49)
RemoveEmptyMesh.py
Retire les objets meshes vides de la scène 
avant exportation 
    Début   Index
précédentScript : fixe camera
Calculette en ligne Suivant

Dans certains cas, l'exportation des données vers d'autres outils de traitement 3D peut poser un problème s'il reste des objets "vides". Il n'y a pas encore (28/11/2004) de  fonction pour effectuer un retrait définitif ou momentané des ces objets . Le script proposé sur cette page offre la posibilité de les déconnecter de la scène courantes donc de les rendre invisibles au travers du  python.

Note 1 :
Les objets sont plus visibles dans la scène courante mais restent  dans la mémoire vives de la machine. Ils sont renommés avec  un préfixe 'XRET_' de telle manière qu'il sera toujours possible d'aller les récuperer en mémoire après l'opération d'exportation.

Note 2: 
les objets laissés en suspension dans la mémoire sans être rattaché à une scène ne seront pas enregistrés . Il faut donc éviter d'effectuer cette manipulation surtout si on la fait suivre d'un nouveau chargement du fichier. A moins qu'on ne souhaite une disparition définitive de ces données.

Télécharger les script

#!BPY

"""
Name: 'Remove Empty Mesh'
Blender: 232
Group: 'Object'
Tooltip: 'Retreive and remove non exportable meshes'
""" 
__author__ = "Jean-Michel Soler (jms)"
__url__ = ("Script's homepage, http://jmsoler.free.fr/didacticiel/blender/tutor/cpl_rememptymesh.htm",
"Communicate problems and errors, http://www.zoo-logique.org/3D.Blender/newsportal/thread.php?group=3D.Blender")
__version__ = "11/2004"
__bpydoc__ = """\
This script removes  all the empty meshes object  or mesh with no exportable data before exportation.

Usage:

   run the script from the Object Scripts Menu. 
""" 
#-------------------------------------------------
#  script pour retirer les objets mesh vides de la scene.
#-------------------------------------------------
import Blender

#-------------------------------------------------
# VERTS=0   controle seulement les mesh vides de faces, 
#           efface meme s'il y a des sommets  libre
#           y compris les faces a 2 sommets 
# VERTS=1   controle aussi l'absence de sommet 
#---------------------------------------------------
VERTS=0

#---------------------------------------------------
# Fonction :
# Tester les objets constitues de segment sans aucune 
# face exportable. Retourne faux si au moins une faces
# est un triangle ou un quad
#---------------------------------------------------
def onlysegment(o): 
    for f in o.getData().faces:
        if len(f.v)>2:
           return 0
    return 1

#---------------------------------------------------
# Operation :
# Cree rla liste des objets vides ou non exportables
#---------------------------------------------------
if  VERTS==0:
    Obj=[o for o  in Blender.Object.Get() 
           if o.getType()== 'Mesh' 
              and (o.getData().faces==[] or onlysegment(o))]
elif VERTS==1:
    Obj=[o for o  in Blender.Object.Get() 
          if o.getType()== 'Mesh' and
             o.getData().faces==[] and 
             o.getData().verts==[] 
                    ]

#---------------------------------------------------
# Operation :
# Se connecter a la scene courante
#---------------------------------------------------
SC=Blender.Scene.GetCurrent()

#---------------------------------------------------
# Operation :
# retirer tous les objets de la scene
#---------------------------------------------------
for o in Obj:
  o.setName('XRET_'+o.getName())
  SC.unlink(o)
Blender.Redraw()
 


 
précédentScript : fixe camera
 Calculette en ligne 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