FEM: mesh tools, use for voumes the better get group data def

This commit is contained in:
Bernd Hahnebach
2017-11-29 11:10:10 +01:00
parent 708c42aa78
commit c21baa8a69

View File

@@ -378,21 +378,13 @@ def get_femelement_sets_from_group_data(femmesh, fem_objects):
# get femelements from femmesh groupdata for reference shapes of each obj.References
count_femelements = 0
sum_group_elements = []
# we assume the mesh group data fits with the reference shapes, no check is done in this regard !!!
# what happens if a reference shape was changed, but the mesh and the mesh groups were not created new !?!
for fem_object_i, fem_object in enumerate(fem_objects):
obj = fem_object['Object']
fem_object['ShortName'] = get_elset_short_name(obj, fem_object_i) # unique short identifier
if femmesh.GroupCount:
for g in femmesh.Groups:
grp_name = femmesh.getGroupName(g)
if grp_name.startswith(obj.Name + "_"):
if femmesh.getGroupElementType(g) == "Volume":
print("Constraint: " + obj.Name + " --> " + "volumes are in mesh group: " + grp_name)
group_elements = femmesh.getGroupElements(g) # == ref_shape_femelements
sum_group_elements += group_elements
count_femelements += len(group_elements)
fem_object['FEMElements'] = group_elements
group_elements = get_femmesh_groupdata_sets_by_name(femmesh, fem_object, 'Volume') # see comments over there !
sum_group_elements += group_elements
count_femelements += len(group_elements)
fem_object['FEMElements'] = group_elements
# check if all worked out well
if not femelements_count_ok(femmesh.VolumeCount, count_femelements):
FreeCAD.Console.PrintError('Error in get_femelement_sets_from_group_data -- > femelements_count_ok() failed!\n')