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)
|