Commit fbdeac9558f3848fe57b0d3e0bc13f584e14de7c

Authored by tatiana
1 parent 8c1efe92

ADD: Export ASCII STL (fix #137)

invesalius/constants.py
@@ -374,6 +374,7 @@ MODE_SLICE_CROSS = -3 @@ -374,6 +374,7 @@ MODE_SLICE_CROSS = -3
374 FILETYPE_IV = wx.NewId() 374 FILETYPE_IV = wx.NewId()
375 FILETYPE_RIB = wx.NewId() 375 FILETYPE_RIB = wx.NewId()
376 FILETYPE_STL = wx.NewId() 376 FILETYPE_STL = wx.NewId()
  377 +FILETYPE_STL_ASCII = wx.NewId()
377 FILETYPE_VRML = wx.NewId() 378 FILETYPE_VRML = wx.NewId()
378 FILETYPE_OBJ = wx.NewId() 379 FILETYPE_OBJ = wx.NewId()
379 FILETYPE_VTP = wx.NewId() 380 FILETYPE_VTP = wx.NewId()
invesalius/data/surface.py
@@ -515,7 +515,8 @@ class SurfaceManager(): @@ -515,7 +515,8 @@ class SurfaceManager():
515 filename, filetype = pubsub_evt.data 515 filename, filetype = pubsub_evt.data
516 if (filetype == const.FILETYPE_STL) or\ 516 if (filetype == const.FILETYPE_STL) or\
517 (filetype == const.FILETYPE_VTP) or\ 517 (filetype == const.FILETYPE_VTP) or\
518 - (filetype == const.FILETYPE_PLY) : 518 + (filetype == const.FILETYPE_PLY) or\
  519 + (filetype == const.FILETYPE_STL_ASCII):
519 520
520 # First we identify all surfaces that are selected 521 # First we identify all surfaces that are selected
521 # (if any) 522 # (if any)
@@ -541,6 +542,9 @@ class SurfaceManager(): @@ -541,6 +542,9 @@ class SurfaceManager():
541 if filetype == const.FILETYPE_STL: 542 if filetype == const.FILETYPE_STL:
542 writer = vtk.vtkSTLWriter() 543 writer = vtk.vtkSTLWriter()
543 writer.SetFileTypeToBinary() 544 writer.SetFileTypeToBinary()
  545 + elif filetype == const.FILETYPE_STL_ASCII:
  546 + writer = vtk.vtkSTLWriter()
  547 + writer.SetFileTypeToASCII()
544 elif filetype == const.FILETYPE_VTP: 548 elif filetype == const.FILETYPE_VTP:
545 writer = vtk.vtkXMLPolyDataWriter() 549 writer = vtk.vtkXMLPolyDataWriter()
546 #elif filetype == const.FILETYPE_IV: 550 #elif filetype == const.FILETYPE_IV:
invesalius/gui/task_exporter.py
@@ -39,6 +39,7 @@ WILDCARD_SAVE_3D = "Inventor (*.iv)|*.iv|"\ @@ -39,6 +39,7 @@ WILDCARD_SAVE_3D = "Inventor (*.iv)|*.iv|"\
39 "PLY (*.ply)|*.ply|"\ 39 "PLY (*.ply)|*.ply|"\
40 "Renderman (*.rib)|*.rib|"\ 40 "Renderman (*.rib)|*.rib|"\
41 "STL (*.stl)|*.stl|"\ 41 "STL (*.stl)|*.stl|"\
  42 + "STL ASCII (*.stl)|*.stl|"\
42 "VRML (*.vrml)|*.vrml|"\ 43 "VRML (*.vrml)|*.vrml|"\
43 "VTK PolyData (*.vtp)|*.vtp|"\ 44 "VTK PolyData (*.vtp)|*.vtp|"\
44 "Wavefront (*.obj)|*.obj" 45 "Wavefront (*.obj)|*.obj"
@@ -47,16 +48,18 @@ INDEX_TO_TYPE_3D = {0: const.FILETYPE_IV, @@ -47,16 +48,18 @@ INDEX_TO_TYPE_3D = {0: const.FILETYPE_IV,
47 1: const.FILETYPE_PLY, 48 1: const.FILETYPE_PLY,
48 2: const.FILETYPE_RIB, 49 2: const.FILETYPE_RIB,
49 3: const.FILETYPE_STL, 50 3: const.FILETYPE_STL,
50 - 4: const.FILETYPE_VRML,  
51 - 5: const.FILETYPE_VTP,  
52 - 6: const.FILETYPE_OBJ} 51 + 4: const.FILETYPE_STL_ASCII,
  52 + 5: const.FILETYPE_VRML,
  53 + 6: const.FILETYPE_VTP,
  54 + 7: const.FILETYPE_OBJ}
53 INDEX_TO_EXTENSION = {0: "iv", 55 INDEX_TO_EXTENSION = {0: "iv",
54 1: "ply", 56 1: "ply",
55 2: "rib", 57 2: "rib",
56 3: "stl", 58 3: "stl",
57 - 4: "vrml",  
58 - 5: "vtp",  
59 - 6: "obj"} 59 + 4: "stl",
  60 + 5: "vrml",
  61 + 6: "vtp",
  62 + 7: "obj"}
60 63
61 WILDCARD_SAVE_2D = "BMP (*.bmp)|*.bmp|"\ 64 WILDCARD_SAVE_2D = "BMP (*.bmp)|*.bmp|"\
62 "JPEG (*.jpg)|*.jpg|"\ 65 "JPEG (*.jpg)|*.jpg|"\