From a5ea8023a29b6d7bbf1ebd57b5ed31dd27c5947b Mon Sep 17 00:00:00 2001 From: marioalexis Date: Sun, 25 Feb 2024 18:29:57 -0300 Subject: [PATCH] Fem: Create mesh for check type analysis in CalculiX - fixes #12503 --- src/Mod/Fem/feminout/importCcxFrdResults.py | 22 +++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/src/Mod/Fem/feminout/importCcxFrdResults.py b/src/Mod/Fem/feminout/importCcxFrdResults.py index a031a2c741..82208aafe7 100644 --- a/src/Mod/Fem/feminout/importCcxFrdResults.py +++ b/src/Mod/Fem/feminout/importCcxFrdResults.py @@ -88,6 +88,15 @@ def importFrd( Console.PrintLog( "Increments: " + str(number_of_increments) + "\n" ) + + def make_result_mesh(result_name): + res_obj = ObjectsFem.makeResultMechanical(doc, results_name) + # create result mesh + result_mesh_object = ObjectsFem.makeMeshResult(doc, results_name + "_Mesh") + result_mesh_object.FemMesh = mesh + res_obj.Mesh = result_mesh_object + return res_obj + if len(m["Results"]) > 0: for result_set in m["Results"]: if "number" in result_set: @@ -118,11 +127,7 @@ def importFrd( .format(result_name_prefix) ) - res_obj = ObjectsFem.makeResultMechanical(doc, results_name) - # create result mesh - result_mesh_object = ObjectsFem.makeMeshResult(doc, results_name + "_Mesh") - result_mesh_object.FemMesh = mesh - res_obj.Mesh = result_mesh_object + res_obj = make_result_mesh(results_name) res_obj = importToolsFem.fill_femresult_mechanical(res_obj, result_set) if analysis: # need to be here, becasause later on, the analysis objs are needed @@ -213,12 +218,17 @@ def importFrd( # restore pipeline visibility pipeline_obj.ViewObject.Visibility = pipeline_visibility + elif result_analysis_type == "check": + results_name = "{}Check".format(result_name_prefix) + res_obj = make_result_mesh(results_name) + if analysis: + analysis.addObject(res_obj) + else: error_message = ( "Nodes, but no results found in frd file. " "It means there only is a mesh but no results in frd file. " "Usually this happens for: \n" - "- analysis type 'NOANALYSIS'\n" "- if CalculiX returned no results " "(happens on nonpositive jacobian determinant in at least one element)\n" "- just no frd results where requestet in input file "