FEM: Improve Gmsh log, when Gmsh is not installed
This commit is contained in:
@@ -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(
|
||||
|
||||
@@ -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))
|
||||
|
||||
Reference in New Issue
Block a user