diff --git a/src/Tools/blocFissure/gmu/creeZoneDefautMaillage.py b/src/Tools/blocFissure/gmu/creeZoneDefautMaillage.py
index dee9bf84f..5225d9834 100644
--- a/src/Tools/blocFissure/gmu/creeZoneDefautMaillage.py
+++ b/src/Tools/blocFissure/gmu/creeZoneDefautMaillage.py
@@ -4,6 +4,8 @@ import logging
from geomsmesh import geompy
import math
from distance2 import distance2
+import traceback
+from fissError import fissError
# -----------------------------------------------------------------------------
# --- zone de defaut extraite du maillage
@@ -60,5 +62,12 @@ def creeZoneDefautMaillage(maillagesSains, shapeDefaut, tailleDefaut,
verticesShapes.append(vertices)
pass
+ if (nb == 0) :
+ texte = "La zone à remailler n'est pas détectée correctement.
"
+ texte += "Cause possible :
"
+ texte += "- 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.
"
+ raise fissError(traceback.extract_stack(),texte)
+
dmoyen = math.sqrt(cumul/nb) # ~ taille de l'arête moyenne du maillage global
return origShapes, verticesShapes, dmoyen
diff --git a/src/Tools/blocFissure/gmu/peauInterne.py b/src/Tools/blocFissure/gmu/peauInterne.py
index 8d6643a5c..ae6870c88 100644
--- a/src/Tools/blocFissure/gmu/peauInterne.py
+++ b/src/Tools/blocFissure/gmu/peauInterne.py
@@ -55,10 +55,11 @@ def peauInterne(fichierMaillage, shapeDefaut, nomZones):
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.
"
texte += "Causes possibles :"
texte += "- Les mailles à enlever dans le maillage sain n'ont pas été détectées.
"
- texte += "- Il n'y a pas que des Hexaèdres linéaires dans la zone à remailler (mailles quadratiques, tetraèdres non traités)
"
+ texte += "Certaines faces du maillage sain sont à l'envers : les normales aux faces en paroi de volume doivent être sortantes."
+ texte += "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)"
raise fissError(traceback.extract_stack(),texte)
nbAdded, maillageSain, DefautBoundary = maillageSain.MakeBoundaryElements( SMESH.BND_2DFROM3D, 'DefBound', '', 0, [ zoneDefaut ])
diff --git a/src/Tools/blocFissure/gmu/restreintFaceFissure.py b/src/Tools/blocFissure/gmu/restreintFaceFissure.py
index 7e1d1e0e4..b300ae19f 100644
--- a/src/Tools/blocFissure/gmu/restreintFaceFissure.py
+++ b/src/Tools/blocFissure/gmu/restreintFaceFissure.py
@@ -27,7 +27,7 @@ def restreintFaceFissure(shapeDefaut, facesDefaut, pointInterne):
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.
"
texte += "Causes possibles :"
texte += "- 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.
"