Blender (jusqu'à 2.49)
Python : 
importer un fichier arboretum/povray 
de type .inc
    Début   Index
précédentScript Python : reorganiser un quad
Script Python : surfaces implicites Suivant

 
BLENDER=1
if BLENDER:
    import Blender

filetxt='g:\\tmp\\arbre2\\ARB_Tree01_mesh.inc'

ftxt=open(filetxt,'r')
lines=ftxt.readlines()
ftxt.close()

Actions=['#declare',
         'mesh2',
         'vertex_vectors',
         'normal_vectors',
         'face_indices',
         'uv_vectors']
nom=''

for l0 in lines:
  if l0.find('//')==0:
      n=l0.replace('\r','')
      n=n.replace(' ','')

      while  n.find('//') !=-1:
           n1=n.find('#declare')+len('#declare')
           n=n.replace(n[0:n1],'',1)

           n1=n.find('=')
           nom=n[0:n1]

           print 'nom',nom, len(nom)

           n=n.replace(n[0:n1],'',1)
           n1=n.find('mesh2')+len('mesh2')

           n=n.replace(n[0:n1],'',1)

           if BLENDER:
              ME=Blender.NMesh.GetRaw()

           n1=n.find('vertex')+len('vertex_vectors')

           n=n.replace(n[0:n1],'',1)

           n1=n.find('{')
           n2=n.find(',')

           print 'nbvertx',n1,n2,n[0:100], n[n1:n2] 
           nbvertx=int(n[n1+1:n2])

           n1=n.find('<')
           n2=n.find('}')

           vertex=n[n1+1:n2-1]
           vertex=vertex.replace(' ','')
           vertex=vertex.replace('\x00','')
           vertex=vertex.split('>,<')

           if BLENDER:
               for v in vertex:
                    v0=v.split(',')
                    v2=Blender.NMesh.Vert(float(v0[0]),float(v0[1]),float(v0[2]))
                    ME.verts.append(v2)
 

           n=n.replace(n[0:n2+1],'',1)

           n1=n.find('face')+len('face_indices')
           n=n.replace(n[0:n1],'',1) 

           n1=n.find('{')
           n2=n.find(',')

           nbfaces=int(n[n1+1:n2])
           print nbfaces, "nbfaces"
           n1=n.find('<')
           n2=n.find('}')

           faces=n[n1+1:n2-1]
           faces=faces.replace(' ','')
           faces=faces.split('>,<')

           if BLENDER: 
               for f in faces:
                    f0=f.split(',')
                    f2=Blender.NMesh.Face()
                    f2.append(ME.verts[int(f0[0])])
                    f2.append(ME.verts[int(f0[1])])
                    f2.append(ME.verts[int(f0[2])])
                    ME.faces.append(f2) 
               Blender.NMesh.PutRaw(ME,nom) 
 
 
 
 
 

 

précédentScript Python : reorganiser un quad
 Script Python : surfaces implicites 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