Thicken shell mesh causing severely distorted meshes when using compound part

Hello,

it appears that the “thicken shell mesh” feature can lead to severely distorted meshes. In the case below, any mesh thickness larger than 0.2 mm shows these mesh artifacts.

Deformed mesh:

This appears to be caused only when using a compound part and not when meshing the individual shell sections. Not sure if related, the shell sections making up the compound part are ordered 1, middle section and 2 and 3 the dome sections. Just checked, the order did not make much improvement.

The part, a water container:

An additional issue is encountered where the domes are joining.


This may, i suspect most likely, be caused by myself as the domes were produced joining a number of cross-sections with the loft feature in FreeCad. The final cross-section was a very small rounded rectangle. This is where the gap and overlapping elements are found now.
Just double checked, even if the rounded rectangle (slot) is set to 1nm radius, the issue persist. Would have thought that this will be a rounding error level…

The pmx file, used version 2.2.10 dev.

I also noted, that depending on the geometry and the desired wall thickness, the meshing sometimes just meshes outside the surface but also sometimes has meshes produced at the inside and outside equally. A feature which would be nice to have as an option but very surprising that this appears to be selected somehow automatic without user input. This makes it difficult to decide on the input geometry required.

Debateable, maybe not a bug but a severe limitation of the meshing and compound part feature?
Hope this helps, and all the best

1 Like

The distorted mesh is the result of the opposite surface normals:

If this is fixed, the resulting mesh is OK:

Maybe some surface orientation check before the thicken shell mesh feature would be necessary.

This is the result of the geometry, which is not closed. If you zoom in on the end caps, you will see that they end up on an oval surface, which is not a surface but a hole. It is hard to see since ints dimensions are really tiny.

1 Like

It appears that I have been caught by the surface normals again. Thank you @Matej for pointing this out!

I’ve corrected the model created in FreeCad following this thread which works well:
Flipping normals of a surface - FreeCAD Forum.

The part appears to mesh correctly now. I’m sure there is logic behind but surprised that the element normal on one end will affect the meshing on the opposite site. Valuable lesson learned.

Meshed part:

I did also add a small face to the top end where the gap used to be. The mesh also looks ok in these areas now. Note to myself, even minute (was set to 1nm) gaps can cause element distortion. For others, it may leave the question how to mesh correctly if a gap is desired though?

Haven’t noticed an inconsistency again yet, the thicken mesh feature appears to extrude the mesh in both directions of the surface equally. My previous observation that this appears randomly (both sides or one side only) depending on thickness and geometry selected may simply be observed incorrectly (afraid I did not document my steps) or caused by the different surface normals? If I notice this again, I will let you know.


The end caps were drawn at a radius of 139.5mm, thickness selected here 20mm

Here is the pmx file, v2.2.10 dev, for the model with corrected surface normals:

Thicken mesh can work on one side only, just use the offset function. If that is set to zero it thickens to both sides of the surface equally, as far as i have observed.

2 Likes

Thank you @aleksa , that seems to work exactly as you described. The offset would need to be 0.5*thickness to mesh outside only and -0.5 for inside only meshing.

I know it being a tedious task, but it may be worth to extend the documentation a bit more with short descriptions what the individual parameters are doing?:

Screenshot taken from manual v2.2.0 from here: https://prepomax.fs.um.si/documentation/

Afraid, I must correct myself. Adding the small top surface to the dome in order to create a continuous container surface does still lead to some mesh deformation in the compound part.

You can see the mesh is continuous of the compound (with a small area of overlapping elements at the inside) but for whatever reason, the small infill area is being meshed again separately. The surface normal of the input look ok.

It may be a question of how to to design the part (dome loft feature) correctly as a single surface and therefore a question for the FreeCad forum in the end… I’ll have a look.

The problem on the inside is that when you offset the small (curved) surface to the inside, it gets smaller and, at some point, equals 0. If you continue, you get a negative volume.

The same happens when you create an offset surface with the geometry.

I am moving this topic to General Questions.