51 lines
1.2 KiB
Python
51 lines
1.2 KiB
Python
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))
|