Skip to content

Commit cb546c3

Browse files
committed
Fem: Create mesh for check type analysis in CalculiX - fixes FreeCAD#12503
1 parent 7f8d6e2 commit cb546c3

File tree

1 file changed

+16
-6
lines changed

1 file changed

+16
-6
lines changed

src/Mod/Fem/feminout/importCcxFrdResults.py

+16-6
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,15 @@ def importFrd(
8888
Console.PrintLog(
8989
"Increments: " + str(number_of_increments) + "\n"
9090
)
91+
92+
def make_result_mesh(result_name):
93+
res_obj = ObjectsFem.makeResultMechanical(doc, results_name)
94+
# create result mesh
95+
result_mesh_object = ObjectsFem.makeMeshResult(doc, results_name + "_Mesh")
96+
result_mesh_object.FemMesh = mesh
97+
res_obj.Mesh = result_mesh_object
98+
return res_obj
99+
91100
if len(m["Results"]) > 0:
92101
for result_set in m["Results"]:
93102
if "number" in result_set:
@@ -118,11 +127,7 @@ def importFrd(
118127
.format(result_name_prefix)
119128
)
120129

121-
res_obj = ObjectsFem.makeResultMechanical(doc, results_name)
122-
# create result mesh
123-
result_mesh_object = ObjectsFem.makeMeshResult(doc, results_name + "_Mesh")
124-
result_mesh_object.FemMesh = mesh
125-
res_obj.Mesh = result_mesh_object
130+
res_obj = make_result_mesh(results_name)
126131
res_obj = importToolsFem.fill_femresult_mechanical(res_obj, result_set)
127132
if analysis:
128133
# need to be here, becasause later on, the analysis objs are needed
@@ -213,12 +218,17 @@ def importFrd(
213218
# restore pipeline visibility
214219
pipeline_obj.ViewObject.Visibility = pipeline_visibility
215220

221+
elif result_analysis_type == "check":
222+
results_name = "{}Check".format(result_name_prefix)
223+
res_obj = make_result_mesh(results_name)
224+
if analysis:
225+
analysis.addObject(res_obj)
226+
216227
else:
217228
error_message = (
218229
"Nodes, but no results found in frd file. "
219230
"It means there only is a mesh but no results in frd file. "
220231
"Usually this happens for: \n"
221-
"- analysis type 'NOANALYSIS'\n"
222232
"- if CalculiX returned no results "
223233
"(happens on nonpositive jacobian determinant in at least one element)\n"
224234
"- just no frd results where requestet in input file "

0 commit comments

Comments
 (0)