| Code: |
|
import Blender import sys from Blender import Object, NMesh, Mesh, BGL, Draw select=Object.get() for ob in select : nomMesh=ob.data.name mesh=Mesh.get(nomMesh) if (mesh!=None) : nmesh=NMesh.GetRaw(nomMesh) numFace=0 faces=nmesh.faces for face in faces : for ver in face.v : print ver.no[0] print ver.no[1] print ver.no[2] |
| Code: |
| def vec_dot(u, v):
return u[0]*v[0] + u[1]*v[1] + u[2]*v[2] def vec_cross(u, v): # | i j k | # | u0 u1 u2 | # | v0 v1 v2 | # (u1*v2-u2*v1)i - (u0*v2-u2*v0)j + (u0*v1-u1*v0)k # (u1*v2-u2*v1)i + (u2*v0-u0*v2)j + (u0*v1-u1*v0)k return [u[1]*v[2]-u[2]*v[1], u[2]*v[0]-u[0]*v[2], u[0]*v[1]-u[1]*v[0]] def vec_mag(u): return sqrt(u[0]*u[0] + u[1]*u[1] + u[2]*u[2]) def vec_norm(u): n = vec_mag(u) return [u[0]/n, u[1]/n, u[2]/n] def vec_between_points(u, v): # returns the vector from point u to point v return [v[0]-u[0], v[1]-u[1], v[2]-u[2]] # thisMesh is a NMesh object i = 0 while i<len(thisMesh.faces): aFace = thisMesh.faces[i] norm = vec_norm(vec_cross(vec_between_points(aFace.v[0], aFace.v[1]), vec_between_points(aFace.v[1], aFace.v[2]))) |