Commit dfac149772d65f3027b0d3ec70fea5b3bca06348
1 parent
c83af65f
Exists in
master
Verifying if surface has content (vertex and cells) before trying to export to a file
Showing
1 changed file
with
11 additions
and
1 deletions
Show diff stats
invesalius/data/surface.py
... | ... | @@ -876,7 +876,14 @@ class SurfaceManager(): |
876 | 876 | os.remove(_temp_file) |
877 | 877 | |
878 | 878 | temp_file = utl.decode(temp_file, const.FS_ENCODE) |
879 | - self._export_surface(temp_file, filetype) | |
879 | + try: | |
880 | + self._export_surface(temp_file, filetype) | |
881 | + except ValueError: | |
882 | + if wx.GetApp() is None: | |
883 | + print("It was not possible to export the surface because the surface is empty") | |
884 | + else: | |
885 | + wx.MessageBox(_("It was not possible to export the surface because the surface is empty"), _("Export surface error")) | |
886 | + return | |
880 | 887 | |
881 | 888 | shutil.move(temp_file, filename) |
882 | 889 | |
... | ... | @@ -903,6 +910,9 @@ class SurfaceManager(): |
903 | 910 | else: |
904 | 911 | polydata = pu.Merge(polydata_list) |
905 | 912 | |
913 | + if polydata.GetNumberOfPoints() == 0: | |
914 | + raise ValueError | |
915 | + | |
906 | 916 | # Having a polydata that represents all surfaces |
907 | 917 | # selected, we write it, according to filetype |
908 | 918 | if filetype == const.FILETYPE_STL: | ... | ... |