X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FTools%2FblocFissure%2Fgmu%2FidentifieElementsDebouchants.py;h=20c38e9379ab534d7c94aa180cc5a6947f27e422;hp=af485444e6548f5d064a31ff08a4b78f88f8fb01;hb=c754537e9f78cd30b7dba7fd9a5d41c4b0d4d87a;hpb=049440912bd213f954a50d4b20e9a468dec33635 diff --git a/src/Tools/blocFissure/gmu/identifieElementsDebouchants.py b/src/Tools/blocFissure/gmu/identifieElementsDebouchants.py index af485444e..20c38e937 100644 --- a/src/Tools/blocFissure/gmu/identifieElementsDebouchants.py +++ b/src/Tools/blocFissure/gmu/identifieElementsDebouchants.py @@ -7,6 +7,8 @@ from geomsmesh import geompy from geomsmesh import geomPublish from geomsmesh import geomPublishInFather import initLog +import traceback +from fissError import fissError from produitMixte import produitMixte from whichSide import whichSide @@ -94,7 +96,13 @@ def identifieElementsDebouchants(ifil, facesDefaut, partitionPeauFissFond, edgesLoc = geompy.ExtractShapes(locEdgePart, geompy.ShapeType["EDGE"], False) edgesLocSorted =[(geompy.MinDistance(edge, locPt0), kk, edge) for kk, edge in enumerate(edgesLoc)] edgesLocSorted.sort() - ofp = geompy.BasicProperties(edgesLocSorted[0][2])[0] # distance curviligne centre locPt0 + try: + ofp = geompy.BasicProperties(edgesLocSorted[0][2])[0] # distance curviligne centre locPt0 + except: + texte = "Identification des éléments au débouché du pipe sur la face externe impossible. " + texte += "Cause éventuelle : la ligne de fond de fissure comprend un point géométrique coincidant avec la face externe. " + texte += "La ligne de fond de fissure doit déboucher franchement de la face externe, et ne doit pas être coupée au niveau de la face" + raise fissError(traceback.extract_stack(),texte) logging.debug("distance curviligne centre extremite0: %s", ofp) p1 = geompy.MakeVertexOnCurveByLength(localEdgeInFondFiss, ofp +lgp, locPt0) p2 = geompy.MakeVertexOnCurveByLength(localEdgeInFondFiss, ofp -lgp, locPt0)