phy_export/phy_export.py
josh 8e6e4cbf20 corrected sizes for cubes and cylinders
git-svn-id: svn://anubis/misc/phy_export@166 bd8a9e45-a331-0410-811e-c64571078777
2009-10-09 20:38:15 +00:00

43 lines
1.5 KiB
Python

#!BPY
"""
Name: 'Joshs Physics Information (.phy) Exporter'
Blender: 244
Group: 'Export'
Tooltip: 'Joshs Physics Information (.phy) Exporter'
"""
import Blender
import bpy
def write(filename):
out = file(filename, "w")
sce = bpy.data.scenes.active
for ob in sce.objects:
if ob.type == 'Mesh':
if len(ob.data.faces) == 1:
# found a plane
e = ob.getEuler()
out.write("plane \"%s\" %f %f %f %f %f %f\n" %
((ob.name,) + ob.getLocation() + (e[0], e[1], e[2])))
elif len(ob.data.faces) == 6:
# found a cube
e = ob.getEuler()
size = ob.getSize()
out.write("cube \"%s\" %f %f %f %f %f %f %f %f %f\n" %
((ob.name,2*size[0],2*size[1],2*size[2]) +
ob.getLocation() +
(e[0], e[1], e[2])))
elif len(ob.data.faces) < 256:
# found a cylinder
e = ob.getEuler()
out.write("cylinder \"%s\" %f %f %f %f %f %f %f %f\n" %
((ob.name,) + (ob.getSize()[0], ob.getSize()[2]*2) +
ob.getLocation() +
(e[0], e[1], e[2])))
elif len(ob.data.faces) >= 256:
# found a sphere
out.write("sphere \"%s\" %f %f %f %f\n" %
((ob.name, ob.SizeX) + ob.getLocation()))
Blender.Window.FileSelector(write, "Export")