Commit fbdeac9558f3848fe57b0d3e0bc13f584e14de7c
1 parent
8c1efe92
Exists in
master
and in
6 other branches
ADD: Export ASCII STL (fix #137)
Showing
3 changed files
with
15 additions
and
7 deletions
Show diff stats
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|"\ |