FEM: Improve Gmsh log, when Gmsh is not installed

This commit is contained in:
David Osterberg
2021-02-07 11:24:28 +01:00
committed by wwmayer
parent 32200b604d
commit 57fd294391
2 changed files with 16 additions and 8 deletions

View File

@@ -40,6 +40,10 @@ from femtools import femutils
from femtools import geomtools
class GmshError(Exception):
pass
class GmshTools():
def __init__(self, gmsh_mesh_obj, analysis=None):
@@ -154,12 +158,15 @@ class GmshTools():
self.write_geo()
def create_mesh(self):
self.update_mesh_data()
self.get_tmp_file_paths()
self.get_gmsh_command()
self.write_gmsh_input_files()
error = self.run_gmsh_with_geo()
self.read_and_set_new_mesh()
try:
self.update_mesh_data()
self.get_tmp_file_paths()
self.get_gmsh_command()
self.write_gmsh_input_files()
error = self.run_gmsh_with_geo()
self.read_and_set_new_mesh()
except GmshError as e:
error = str(e)
return error
def start_logs(self):
@@ -292,7 +299,7 @@ class GmshTools():
"in FEM preferences tab Gmsh.\n"
)
Console.PrintError(error_message)
raise Exception(error_message)
raise GmshError(error_message)
self.gmsh_bin = gmsh_path
else:
error_message = (
@@ -300,7 +307,7 @@ class GmshTools():
"Set GMHS binary path in FEM preferences.\n"
)
Console.PrintError(error_message)
raise Exception(error_message)
raise GmshError(error_message)
else:
if not self.gmsh_bin:
self.gmsh_bin = FreeCAD.ParamGet(

View File

@@ -207,6 +207,7 @@ class _TaskPanel:
"Unexpected error when creating mesh: {}\n"
.format(sys.exc_info()[0])
)
error = sys.exc_info()[0].strip();
if error:
FreeCAD.Console.PrintMessage("Gmsh had warnings ...\n")
FreeCAD.Console.PrintMessage("{}\n".format(error))