import Blender f = file('d:/steady-short.rm1') print f.readline() print f.readline() print f.readline() print f.readline() mesh = Blender.NMesh.New() faces = [] while(1): a = f.readline() b = a.strip() if b == '9999': break if b == "": continue c = a.split(' ') d = [i for i in c if i <> ""][1:9] d = [int(i) for i in d] faces.append(d) verts = [] xmin = 1e10 xmax = 0 ymin = 1e10 ymax = 0 zmin = 1e10 zmax = 0 while(1): a = f.readline() b = a.strip() if b == '9999': break if b == "": continue c = a.split(' ') d = [float(i) for i in c if i <> ""][1:4] #d[2] = d[2][:-1] #vert = Blender.NMesh.Vert(*d) if d[0] < xmin: xmin = d[0] if d[0] > xmax: xmax = d[0] if d[1] < ymin: ymin = d[1] if d[1] > ymax: ymax = d[1] if d[2] < zmin: zmin = d[2] if d[2] > zmax: zmax = d[2] verts.append(d) for vert in verts: vertex = Blender.NMesh.Vert(vert[0] - xmin, vert[1] - ymin, vert[2] - zmin) mesh.verts.append(vertex) #print len(mesh.verts) for face in faces: mface = Blender.NMesh.Face() #print face[0]-1 mface.v.append(mesh.verts[face[0]-1]) mface.v.append(mesh.verts[face[2]-1]) mface.v.append(mesh.verts[face[4]-1]) mface.v.append(mesh.verts[face[6]-1]) mesh.faces.append(mface) Blender.NMesh.PutRaw(mesh) Blender.Redraw()