7 Tooltip: 'Export to Gmsh 2 ASCII format'
13 def writeGmsh2(filename
):
14 if not filename
.lower().endswith('.msh'):
16 out
= file(filename
, "w")
17 scn
= bpy
.data
.scenes
.active
18 object = scn
.objects
.active
20 Blender
.Draw
.PupMenu('Error%t|Select 1 active object')
22 if object.type != 'Mesh':
23 Blender
.Draw
.PupMenu('Error%t|Select a mesh object')
26 mesh
= object.getData(0,1)
30 out
.write('$MeshFormat\n2 0 8\n$EndMeshFormat\n')
31 out
.write('$Nodes\n%d\n' % len(nodes
))
36 out
.write("%e " % n
.co
[0])
37 out
.write("%e " % n
.co
[1])
38 out
.write("%e\n" % n
.co
[2])
41 out
.write('$EndNodes\n')
42 out
.write('$Elements\n%d\n' % len(faces
))
48 Blender
.Draw
.PupMenu('Error%t|Only triangles and quads allowed')
54 out
.write('1 %d' % (f
.mat
+ 1))
56 out
.write(' %d' % (v
.index
+ 1))
60 out
.write('$EndElements\n')
62 Blender
.Window
.FileSelector(writeGmsh2
, "Export", Blender
.sys
.makename(ext
='.msh'))