from geomsmesh import geompy
import math
from distance2 import distance2
+import traceback
+from fissError import fissError
# -----------------------------------------------------------------------------
# --- zone de defaut extraite du maillage
verticesShapes.append(vertices)
pass
+ if (nb == 0) :
+ texte = "La zone à remailler n'est pas détectée correctement.<br>"
+ texte += "Cause possible :<ul>"
+ texte += "<li>La distance d'influence est trop petite. "
+ texte += "L'ordre de grandeur minimal correspond à la taille des mailles du maillage sain dans la zone à remailler.</li></ul>"
+ raise fissError(traceback.extract_stack(),texte)
+
dmoyen = math.sqrt(cumul/nb) # ~ taille de l'arête moyenne du maillage global
return origShapes, verticesShapes, dmoyen
if i == "Entity_Hexa":
nbhexa+=info[i]
if (nbelem == 0) or (nbhexa < nbelem) :
- texte = "La zone a remailler est incorrecte : "
+ texte = "La zone a remailler est incorrecte.<br>"
texte += "Causes possibles :<ul>"
texte += "<li>Les mailles à enlever dans le maillage sain n'ont pas été détectées.</li>"
- texte += "<li>Il n'y a pas que des Hexaèdres linéaires dans la zone à remailler (mailles quadratiques, tetraèdres non traités)</li></ul>"
+ texte += "<li>Certaines faces du maillage sain sont à l'envers : les normales aux faces en paroi de volume doivent être sortantes.</li>"
+ texte += "<li>Il n'y a pas que des Hexaèdres réglés linéaires dans la zone à remailler (notamment mailles quadratiques, tetraèdres non traités)</li></ul>"
raise fissError(traceback.extract_stack(),texte)
nbAdded, maillageSain, DefautBoundary = maillageSain.MakeBoundaryElements( SMESH.BND_2DFROM3D, 'DefBound', '', 0, [ zoneDefaut ])
try:
facesPartShapeDefautSorted, minSurf, maxSurf = sortFaces(facesPartShapeDefaut) # la face de fissure dans le volume doit être la plus grande
except:
- texte = "Restriction de la face de fissure au domaine solide impossible. "
+ texte = "Restriction de la face de fissure au domaine solide impossible.<br>"
texte += "Causes possibles :<ul>"
texte += "<li>La face de fissure est tangente à la paroi solide."
texte += "Elle doit déboucher franchement, sans que la surface dehors ne devienne plus grande que la surface dans le solide.</li>"