updated blender dumper to be an operator.

This commit is contained in:
Stephen M. McQuay 2012-04-14 22:12:47 -06:00
parent 27db460657
commit 66754c0d04
2 changed files with 83 additions and 50 deletions

83
blender/dump.py Normal file
View File

@ -0,0 +1,83 @@
import json
import bmesh
import bpy
def main(context):
print(context.object.data)
print(type(context.object.data))
print(dir(context.object.data))
if context.object.mode == 'OBJECT':
bpy.ops.object.mode_set(mode='EDIT')
m = context.object.data
b = bmesh.from_edit_mesh(m)
print("info:")
data = {}
print("verts:")
for vert in b.verts:
print(" ", vert.index, ":", list(vert.co))
data['vertices'] = [list(vert.co) for vert in b.verts]
print("edges for vert:")
for vert in b.verts:
print(" ", vert.index, ":", [e.index for e in vert.link_edges])
print("faces for vert:")
for vert in b.verts:
print(" ", vert.index, ":", [e.index for e in vert.link_faces])
print("edges:")
edges = []
for edge in b.edges:
print(" ", edge.index, ":", [v.index for v in edge.verts])
edges.append([v.index for v in edge.verts])
data['edges'] = edges
print("faces for edge:")
for edge in b.edges:
print(" ", edge.index, ":", [f.index for f in edge.link_faces])
print("faces:")
faces = []
for face in b.faces:
print(" ", face.index, ":", [v.index for v in face.verts])
faces.append([v.index for v in face.verts])
data['faces'] = faces
print("edges for face:")
for face in b.faces:
print(" ", face.index, ":", [e.index for e in face.edges])
print(json.dumps(data))
bpy.ops.object.mode_set(mode='OBJECT')
class DumpMesh(bpy.types.Operator):
'''dump mesh for surfaces'''
bl_idname = 'object.dump_mesh'
bl_label = 'Dump Mesh'
@classmethod
def poll(cls, context):
return context.active_object is not None
def execute(self, context):
main(context)
return {'FINISHED'}
def register():
bpy.utils.register_class(DumpMesh)
def unregister():
bpy.utils.unregister_class(DumpMesh)
if __name__ == '__main__':
register()
bpy.ops.object.dump_mesh()

50
dump.py
View File

@ -1,50 +0,0 @@
import bpy
import bmesh
import json
bpy.data.objects['Cube'].select = True
bpy.ops.object.mode_set(mode='EDIT')
m = bpy.data.meshes['Cube']
b = bmesh.from_edit_mesh(m)
print("info:")
data = {}
print("verts:")
for vert in b.verts:
print(" ", vert.index, ":", list(vert.co))
data['vertices'] = [list(vert.co) for vert in b.verts]
print("edges for vert:")
for vert in b.verts:
print(" ", vert.index, ":", [e.index for e in vert.link_edges])
print("faces for vert:")
for vert in b.verts:
print(" ", vert.index, ":", [e.index for e in vert.link_faces])
print("edges:")
edges = []
for edge in b.edges:
print(" ", edge.index, ":", [v.index for v in edge.verts])
edges.append([v.index for v in edge.verts])
data['edges'] = edges
print("faces for edge:")
for edge in b.edges:
print(" ", edge.index, ":", [f.index for f in edge.link_faces])
print("faces:")
faces = []
for face in b.faces:
print(" ", face.index, ":", [v.index for v in face.verts])
faces.append([v.index for v in face.verts])
data['faces'] = faces
print("edges for face:")
for face in b.faces:
print(" ", face.index, ":", [e.index for e in face.edges])
print(json.dumps(data))