stl файл хранит координаты вершин площадок и нормали к ним:
$ head -15 test1.stl
solid Created by Gmsh
facet normal 0 -0 -1
outer loop
vertex -2.74257 -1.88725 0
vertex -1 -3.8 0
vertex -3 -4.4 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex -5 -5.55112e-12 0
vertex -2.74257 -1.88725 0
vertex -5 -2.5 0
endloop
endfacet
...
помогите распарсить файл по шаблону и превратить в массив вещественных чисел (N,12), в котором храняться 9-ть координат вершин и 3 компоненты нормали. Пока удалось распознавать записи facet ... endfacet. Но извлечь их из файла и записать в массив не удается.
#!/usr/bin/python
from pyparsing import *
d=Word(nums+".-e")
rec="facet normal"+d+d+d+"outer loop"+"vertex"+d+d+d+"vertex"+d+d+d+"vertex"+d+d+d+"end loop"+"endfacet"
print rec.parseString("facet normal 1 0 0 outer loop vertex 11.2e-10 2.1. -1.1 vertex 11.1 0.0 -1.1 vertex -1 -1 -1 end loop endfacet")
print "* end TEST"
#datafile=OneOrMore(Group(rec))
#infile=open('test1.stl','r')
#datafile.parseString(infile)
#data=open('test1.stl','r').readlines()
#print data
#print rec.parseString(data)