import bpy import os.path writePath = 'C:/' for object in bpy.context.selected_objects: objectName = object.name texture = os.path.basename(object.data.uv_textures.active.data[0].image.filepath) fileLines = [] meshVertices = [] for vertex in object.data.vertices: meshVertices.insert(vertex.index, vertex.co) meshQuads = [] meshTris = [] for x in range(0, len(object.data.faces)): if len(object.data.faces[x].vertices) == 4: for i in range(0, 4): uv = (("%.4f" % object.data.uv_textures.active.data[x].uv[i][0])+', '+("%.4f" % (1-object.data.uv_textures.active.data[x].uv[i][1]))) meshQuads.append('vertex('+("%.3f" % meshVertices[object.data.faces[x].vertices[i]][0])+', '+("%.3f" % meshVertices[object.data.faces[x].vertices[i]][1])+', '+("%.3f" % meshVertices[object.data.faces[x].vertices[i]][2])+', '+uv+');') if len(object.data.faces[x].vertices) == 3: for i in range(0, 3): uv = (("%.4f" % object.data.uv_textures.active.data[x].uv[i][0])+', '+("%.4f" % (1-object.data.uv_textures.active.data[x].uv[i][1]))) meshTris.append('vertex('+("%.3f" % meshVertices[object.data.faces[x].vertices[i]][0])+', '+("%.3f" % meshVertices[object.data.faces[x].vertices[i]][1])+', '+("%.3f" % meshVertices[object.data.faces[x].vertices[i]][2])+', '+uv+');') fileLines.append('class '+objectName+'{') fileLines.append(' PImage modTexture;') fileLines.append(' ') fileLines.append(' '+objectName+'(){') fileLines.append(' modTexture = loadImage("'+texture+'");') fileLines.append(' }') fileLines.append(' ') fileLines.append(' void display(){') if(len(meshQuads) > 0): fileLines.append(' beginShape(QUADS);') fileLines.append(' texture(modTexture);') fileLines.append(' textureMode(NORMALIZED);') for line in meshQuads: fileLines.append(' '+line) fileLines.append(' endShape();') if(len(meshTris) > 0): fileLines.append(' beginShape(TRIANGLES);') fileLines.append(' texture(modTexture);') fileLines.append(' textureMode(NORMALIZED);') for line in meshTris: fileLines.append(' '+line) fileLines.append(' endShape();') fileLines.append(' }') fileLines.append('}') filepath = writePath+objectName+'.pde' file = open(filepath, "w") for line in fileLines: file.write(line+'\n') file.close()