Get the printed value of a viscous layer when not achieving desired thickness

when we set a viscous layer hypothesis, we set a total thickness, lets say 1. sometimes the addition of the viscous layer does not achieve the desired thickness but a smaller one, for example:
“- “NETGEN_3D_3” on SOLID #2 - Warning. Thickness 0.015 of viscous layers not reached, average reached thickness is 0.000904799”
how can I get this ‘0.000904799’ value in the script itself?
I checked my mesh object properties, the Viscous_Layers (from NETGEN_3D.ViscousLayers), isDone and NETGEN_3D from the compute of the mesh and nothing that could help me solve this.

or at least get a boolean that there was an issue (warning) during the computation of the mesh? as isDone will be equal to True even if the viscous layer does not achieve the desired thickness.

and as bonus question: how can I hide in the object browser a mesh object? (similar to geompy.hideInStudy(geomObject)) as there is no smesh.hideInStudy()
thanks in advance

Hello Franco.

Indeed there is no interface to get the average thickness achieved by the viscous layer in SMESH. You can try to get the warning with the follow code snip in python.

import sys 

stdout = sys.stdout 

from io import StringIO 

s = StringIO() 

sys.stdout = s 

##Call mesh.Compute()

sys.stdout = stdout 

#Print the content of the internal emit warning.

For your second question, there is the method SetEnablePublish( Bool ) implemented in smeshBuilder. Call with False if you don’t want to publish your mesh into the object browser, in case you want to publish certain objects or not, alternate between calls to this method with True/False and the Compute method.

Hope it helps.


1 Like

Hello Cesar,
regarding the publishing of meshes.
how can I remove an already published mesh?
if there is a simple way to do exactly what I am looking for I would also take it:
I have a geom object, I run a script which creates several objects, and defines some algos and hypothesis in mesh and also create a mesh.
I would like to if I re run the script, it will delate everything (objects created in geom and mesh (with the hypothesis and algos included)) so for the moment at least the geom objects I can hide them but i dont know how to do this for the mesh side (i could simply reset completly the mesh module while re running it if it is possible)
thanks in advance