#!/usr/bin/python # ascii stl format: #solid # facet normal -9.9529137E-01 +1.2120646E-02 +9.6167417E-02 # outer loop # vertex -2.0843192E-02 +6.7187902E-02 -9.0850298E-02 # vertex -1.7894284E-02 +1.9643027E-01 -7.6619690E-02 # vertex -2.1796011E-02 +1.1416557E-01 -1.0663249E-01 # endloop # endfacet #endsolid import sys import Vec3D buff = sys.stdin.readline() # FLAWSURF buff = sys.stdin.readline() # ( buff = sys.stdin.readline() # VERSION v = sys.stdin.readline().split() # NUM_SURFS num_surf = int(v[1]) print >> sys.stdout,"solid" for i in xrange(num_surf): v = sys.stdin.readline().split() # SURF surf_id = int(v[1]) nd_id = sys.stdin.readline().split() # node id's tri = [] for i in xrange(10): v = sys.stdin.readline().split() # control pt i x = float(v[0]) y = float(v[1]) z = float(v[2]) if i==0 or i==6 or i==9: v = Vec3D.Vec3D(x,y,z) tri.append(v) v01 = tri[1] - tri[0] v02 = tri[2] - tri[0] norm = Vec3D.CrossProd(v01,v02).Normalize() print >> sys.stdout," facet normal ", norm[0], " ", norm[1], " ", norm[2] print >> sys.stdout," outer loop" print >> sys.stdout," vertex ", tri[0][0], " ", tri[0][1], " ", tri[0][2] print >> sys.stdout," vertex ", tri[1][0], " ", tri[1][1], " ", tri[1][2] print >> sys.stdout," vertex ", tri[2][0], " ", tri[2][1], " ", tri[2][2] print >> sys.stdout," endloop" print >> sys.stdout," endfacet" print >> sys.stdout,"endsolid"