diff --git a/src/Mod/Fem/femcommands/commands.py b/src/Mod/Fem/femcommands/commands.py index a124b4a084..ccf374fa14 100644 --- a/src/Mod/Fem/femcommands/commands.py +++ b/src/Mod/Fem/femcommands/commands.py @@ -546,8 +546,8 @@ class _MaterialMechanicalNonlinear(CommandManager): solver_object.Proxy.Type == "Fem::FemSolverCalculixCcxTools" or solver_object.Proxy.Type == "Fem::FemSolverObjectCalculix" ): - print( - "Set MaterialNonlinearity and GeometricalNonlinearity to nonlinear for {}" + FreeCAD.Console.PrintMessage( + "Set MaterialNonlinearity and GeometricalNonlinearity to nonlinear for {}\n" .format(solver_object.Label) ) solver_object.MaterialNonlinearity = "nonlinear" diff --git a/src/Mod/Fem/femexamples/ccx_cantilever_std.py b/src/Mod/Fem/femexamples/ccx_cantilever_std.py index 0ab4353f51..a036f0c110 100644 --- a/src/Mod/Fem/femexamples/ccx_cantilever_std.py +++ b/src/Mod/Fem/femexamples/ccx_cantilever_std.py @@ -98,10 +98,10 @@ def setup_cantileverbase(doc=None, solver="ccxtools"): fem_mesh = Fem.FemMesh() control = create_nodes(fem_mesh) if not control: - print("ERROR on creating nodes") + FreeCAD.Console.PrintError("Error on creating nodes.\n") control = create_elements(fem_mesh) if not control: - print("ERROR on creating elements") + FreeCAD.Console.PrintError("Error on creating elements.\n") femmesh_obj = analysis.addObject( doc.addObject("Fem::FemMeshObject", mesh_name) )[0] diff --git a/src/Mod/Fem/femexamples/rc_wall_2d.py b/src/Mod/Fem/femexamples/rc_wall_2d.py index b73d66e6e0..765cfc34a2 100644 --- a/src/Mod/Fem/femexamples/rc_wall_2d.py +++ b/src/Mod/Fem/femexamples/rc_wall_2d.py @@ -143,10 +143,10 @@ def setup_rcwall2d(doc=None, solver="ccxtools"): fem_mesh = Fem.FemMesh() control = create_nodes(fem_mesh) if not control: - print("ERROR on creating nodes") + FreeCAD.Console.PrintError("Error on creating nodes.\n") control = create_elements(fem_mesh) if not control: - print("ERROR on creating elements") + FreeCAD.Console.PrintError("Error on creating elements.\n") femmesh_obj = analysis.addObject( doc.addObject("Fem::FemMeshObject", mesh_name) )[0] diff --git a/src/Mod/Fem/feminout/importCcxFrdResults.py b/src/Mod/Fem/feminout/importCcxFrdResults.py index 39586a2e7d..3c1db172d5 100644 --- a/src/Mod/Fem/feminout/importCcxFrdResults.py +++ b/src/Mod/Fem/feminout/importCcxFrdResults.py @@ -204,14 +204,16 @@ def read_frd_result( inout_nodes = [] inout_nodes_file = frd_input.rsplit('.', 1)[0] + '_inout_nodes.txt' if os.path.exists(inout_nodes_file): - print('Read special 1DFlow nodes data form: ' + inout_nodes_file) + FreeCAD.Console.PrintMessage( + "Read special 1DFlow nodes data form: {}\n".format(inout_nodes_file) + ) f = pyopen(inout_nodes_file, "r") lines = f.readlines() for line in lines: a = line.split(',') inout_nodes.append(a) f.close() - print(inout_nodes) + FreeCAD.Console.PrintMessage("{}\n".format(inout_nodes)) frd_file = pyopen(frd_input, "r") nodes = {} elements_hexa8 = {} diff --git a/src/Mod/Fem/feminout/importToolsFem.py b/src/Mod/Fem/feminout/importToolsFem.py index 99bc66b1db..68b8f87f98 100644 --- a/src/Mod/Fem/feminout/importToolsFem.py +++ b/src/Mod/Fem/feminout/importToolsFem.py @@ -69,7 +69,9 @@ def get_FemMeshObjectOrder( else: presumable_order = [el - 1 for el in edges_length_set] else: - print("Found no edges in mesh: Element order determination does not work without them.") + FreeCAD.Console.PrintMessage( + "Found no edges in mesh: Element order determination does not work without them.\n" + ) return presumable_order diff --git a/src/Mod/Fem/feminout/importZ88Mesh.py b/src/Mod/Fem/feminout/importZ88Mesh.py index 12f5d7aece..57e4cc39e3 100644 --- a/src/Mod/Fem/feminout/importZ88Mesh.py +++ b/src/Mod/Fem/feminout/importZ88Mesh.py @@ -460,7 +460,7 @@ def write_z88_mesh_to_file( ): node_dof = 6 # schalenelemente else: - print("Error: wrong z88_element_type") + FreeCAD.Console.PrintError("Error: wrong z88_element_type.\n") return node_count = len(femnodes_mesh) element_count = len(femelement_table) @@ -558,9 +558,9 @@ def get_z88_element_type( ): import femmesh.meshtools as FemMeshTools if not femmesh: - print("Error: No femmesh!") + FreeCAD.Console.PrintMessage("Error: No femmesh!\n") if not femelement_table: - print("We need to get the femelement_table first!") + FreeCAD.Console.PrintMessage("We need to get the femelement_table first!\n") femelement_table = FemMeshTools.get_femelement_table(femmesh) # in some cases lowest key in femelement_table is not [1] for elem in sorted(femelement_table): @@ -574,43 +574,43 @@ def get_z88_element_type( elif elem_length == 10: return 16 else: - print('Tetra with neither 4 nor 10 nodes') + FreeCAD.Console.PrintMessage('Tetra with neither 4 nor 10 nodes.\n') elif femmesh.HexaCount == femmesh.VolumeCount: if elem_length == 8: return 1 elif elem_length == 20: return 10 else: - print('Hexa with neither 8 nor 20 nodes') + FreeCAD.Console.PrintMessage('Hexa with neither 8 nor 20 nodes.\n') return 0 else: - print('no tetra, no hexa or Mixed Volume Elements') + FreeCAD.Console.PrintMessage('no tetra, no hexa or Mixed Volume Elements.\n') elif FemMeshTools.is_face_femmesh(femmesh): if femmesh.TriangleCount == femmesh.FaceCount: if elem_length == 3: - print('tria3mesh, not supported by z88') + FreeCAD.Console.PrintMessage('tria3mesh, not supported by Z88.\n') return 0 elif elem_length == 6: return 24 else: - print('Tria with neither 3 nor 6 nodes') + FreeCAD.Console.PrintMessage('Tria with neither 3 nor 6 nodes.\n') return 0 elif femmesh.QuadrangleCount == femmesh.FaceCount: if elem_length == 4: - print('quad4mesh, not supported by z88') + FreeCAD.Console.PrintMessage('quad4mesh, not supported by Z88.\n') return 0 elif elem_length == 8: return 23 else: - print('Quad with neither 4 nor 8 nodes') + FreeCAD.Console.PrintMessage('Quad with neither 4 nor 8 nodes.\n') return 0 else: - print('no tria, no quad') + FreeCAD.Console.PrintMessage('no tria, no quad\n') return 0 elif FemMeshTools.is_edge_femmesh(femmesh): - print('Edge femmesh will be exported as 3D truss element nr 4') + FreeCAD.Console.PrintMessage('Edge femmesh will be exported as 3D truss element nr 4.\n') return 4 else: - print('Neither edge nor face nor solid femmesh') + FreeCAD.Console.PrintMessage('Neither edge nor face nor solid femmesh.\n') return 0 return 0 diff --git a/src/Mod/Fem/feminout/importZ88O2Results.py b/src/Mod/Fem/feminout/importZ88O2Results.py index 0458c21269..795e1cbe18 100644 --- a/src/Mod/Fem/feminout/importZ88O2Results.py +++ b/src/Mod/Fem/feminout/importZ88O2Results.py @@ -32,9 +32,6 @@ import FreeCAD import os -Debug = False - - # ********* generic FreeCAD import and export methods ********* if open.__module__ == '__builtin__': # because we'll redefine open below (Python2) @@ -162,9 +159,8 @@ def read_z88_disp( mode_results['disp'] = mode_disp results.append(mode_results) - if Debug: - for r in results[0]['disp']: - print(r, ' --> ', results[0]['disp'][r]) + for r in results[0]['disp']: + FreeCAD.Console.PrintLog("{} --> {}\n".format(r, results[0]['disp'][r])) z88_disp_file.close() return {'Nodes': nodes, 'Results': results} diff --git a/src/Mod/Fem/femmesh/femmesh2mesh.py b/src/Mod/Fem/femmesh/femmesh2mesh.py index 8e374497e4..31235c7389 100644 --- a/src/Mod/Fem/femmesh/femmesh2mesh.py +++ b/src/Mod/Fem/femmesh/femmesh2mesh.py @@ -28,6 +28,8 @@ __url__ = "http://www.freecadweb.org" # \ingroup FEM import time + +import FreeCAD # import Mesh @@ -154,13 +156,13 @@ def femmesh_2_mesh(myFemMesh, myResults=None): singleFaces.append(faceCodeList[actFaceIdx]) actFaceIdx += 1 else: - print("found a last Face: ", faceCodeList[actFaceIdx]) + FreeCAD.Console.PrintMessage("Found a last Face: {}\n".format(faceCodeList[actFaceIdx])) singleFaces.append(faceCodeList[actFaceIdx]) actFaceIdx += 1 output_mesh = [] if myResults: - print(myResults.Name) + FreeCAD.Console.PrintMessage("{}\n".format(myResults.Name)) for myFace in singleFaces: face_nodes = faceCodeDict[myFace] dispVec0 = myResults.DisplacementVectors[myResults.NodeNumbers.index(face_nodes[0])] @@ -195,5 +197,7 @@ def femmesh_2_mesh(myFemMesh, myResults=None): # print("my 2. triangle: ", triangle) end_time = time.clock() - print("Mesh by surface search method: ", end_time - start_time) + FreeCAD.Console.PrintMessage( + "Mesh by surface search method: {}\n".format(end_time - start_time) + ) return output_mesh diff --git a/src/Mod/Fem/femresult/resulttools.py b/src/Mod/Fem/femresult/resulttools.py index 9fade9b34c..e915cb4873 100644 --- a/src/Mod/Fem/femresult/resulttools.py +++ b/src/Mod/Fem/femresult/resulttools.py @@ -108,7 +108,7 @@ def show_result(resultobj, result_type="Sabs", limit=None): values = list(d[match[result_type]]) show_color_by_scalar_with_cutoff(resultobj, values, limit) else: - print("Error, No result object given.") + FreeCAD.Console.PrintError("Error, No result object given.\n") ## Sets mesh color using list of values. Internally used by show_result function. @@ -359,7 +359,7 @@ def get_concrete_nodes(res_obj): for obj in res_obj.getParentGroup().Group: if obj.isDerivedFrom("App::MaterialObjectPython") \ and femutils.is_of_type(obj, "Fem::MaterialReinforced"): - print("ReinforcedMaterial") + FreeCAD.Console.PrintMessage("ReinforcedMaterial\n") if obj.References == []: for iic in range(nsr): if ic[iic] == 0: @@ -371,7 +371,7 @@ def get_concrete_nodes(res_obj): ic[cn - 1] = 1 elif obj.isDerivedFrom("App::MaterialObjectPython") \ and femutils.is_of_type(obj, "Fem::Material"): - print("NOT ReinforcedMaterial") + FreeCAD.Console.PrintMessage("No ReinforcedMaterial\n") if obj.References == []: for iic in range(nsr): if ic[iic] == 0: diff --git a/src/Mod/Fem/femsolver/calculix/solver.py b/src/Mod/Fem/femsolver/calculix/solver.py index e1350aa98a..cdee5bd634 100644 --- a/src/Mod/Fem/femsolver/calculix/solver.py +++ b/src/Mod/Fem/femsolver/calculix/solver.py @@ -298,7 +298,7 @@ class Proxy(solverbase.Proxy): def edit(self, directory): pattern = os.path.join(directory, "*.inp") - print(pattern) + FreeCAD.Console.PrintMessage("{}\n".format(pattern)) f = glob.glob(pattern)[0] FemGui.open(f) diff --git a/src/Mod/Fem/femsolver/elmer/writer.py b/src/Mod/Fem/femsolver/elmer/writer.py index d9e8dd35be..cfd077f34e 100644 --- a/src/Mod/Fem/femsolver/elmer/writer.py +++ b/src/Mod/Fem/femsolver/elmer/writer.py @@ -31,6 +31,7 @@ import os.path import subprocess import tempfile +import FreeCAD from FreeCAD import Units import Fem import femtools.femutils as femutils @@ -124,7 +125,7 @@ class Writer(object): groups.extend(self._builder.getBoundaryNames()) self._exportToUnv(groups, mesh, unvPath) if self.testmode: - print("We are in testmode ElmerGrid may not be installed!") + FreeCAD.Console.PrintMessage("We are in testmode ElmerGrid may not be installed.\n") else: binary = settings.get_binary("ElmerGrid") if binary is None: @@ -164,7 +165,7 @@ class Writer(object): tools.write_part_file() tools.write_geo() if self.testmode: - print("We are in testmode, GMSH may not be installed!") + FreeCAD.Console.PrintMessage("We are in testmode, Gmsh may not be installed.\n") import shutil shutil.copyfile(geoPath, os.path.join(self.directory, "group_mesh.geo")) else: diff --git a/src/Mod/Fem/femsolver/writerbase.py b/src/Mod/Fem/femsolver/writerbase.py index 7900cf4e6a..b68e34638c 100644 --- a/src/Mod/Fem/femsolver/writerbase.py +++ b/src/Mod/Fem/femsolver/writerbase.py @@ -139,7 +139,7 @@ class FemInputWriter(): # because solid nodes do not have rotational degree of freedom if self.femmesh.Volumes \ and (len(self.shellthickness_objects) > 0 or len(self.beamsection_objects) > 0): - print("We need to find the solid nodes.") + FreeCAD.Console.PrintMessage("We need to find the solid nodes.\n") if not self.femelement_volumes_table: self.femelement_volumes_table = meshtools.get_femelement_volumes_table( self.femmesh diff --git a/src/Mod/Fem/femsolver/z88/solver.py b/src/Mod/Fem/femsolver/z88/solver.py index 0e23a20ea9..8ff21e9ced 100644 --- a/src/Mod/Fem/femsolver/z88/solver.py +++ b/src/Mod/Fem/femsolver/z88/solver.py @@ -78,7 +78,7 @@ class Proxy(solverbase.Proxy): def edit(self, directory): pattern = os.path.join(directory, "*.txt") - print(pattern) + FreeCAD.Console.PrintMessage("{}\n".format(pattern)) f = glob.glob(pattern)[0] FemGui.open(f)