From d54b8e1c78f746d202422ee1ee50ce7a35405c8a Mon Sep 17 00:00:00 2001 From: Paul RASCLE Date: Fri, 4 Mar 2016 16:29:26 +0100 Subject: [PATCH] general crack dialog, another error detection --- src/Tools/blocFissure/gmu/creeZoneDefautMaillage.py | 9 +++++++++ src/Tools/blocFissure/gmu/peauInterne.py | 5 +++-- src/Tools/blocFissure/gmu/restreintFaceFissure.py | 2 +- 3 files changed, 13 insertions(+), 3 deletions(-) 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 :" + 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 += "
  • 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 :