| #!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()
 
 |