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"
+ texte += "Cause possible : 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)
pipeFiss = geompy.MakePipe(cercle, fondFissProlonge)
except:
texte = "génération du pipe le long de la ligne de fond de fissure prolongée impossible. "
- texte += "Cause éventuelle : la ligne s'autointersecte lorsqu'on la prolonge."
+ texte += "Cause possible : la ligne s'autointersecte lorsqu'on la prolonge."
raise fissError(traceback.extract_stack(),texte)
geomPublish(initLog.debug, pipeFiss, 'pipeFiss')
partFissPipe = geompy.MakePartition([shapeDefaut, pipeFiss], [], [], [], geompy.ShapeType["FACE"], 0, [], 1)
from geomsmesh import geomPublishInFather
import initLog
from sortFaces import sortFaces
+import traceback
+from fissError import fissError
def restreintFaceFissure(shapeDefaut, facesDefaut, pointInterne):
"""
logging.debug("selection de la face la plus proche du point interne, distance=%s",distfaces[0][0])
facesPortFissure = distfaces[0][2]
else:
- facesPartShapeDefautSorted, minSurf, maxSurf = sortFaces(facesPartShapeDefaut) # la face de fissure dans le volume doit être la plus grande
+ 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 += "Cause possible : 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. "
+ raise fissError(traceback.extract_stack(),texte)
logging.debug("surfaces faces fissure étendue, min %s, max %s", minSurf, maxSurf)
facesPortFissure = facesPartShapeDefautSorted[-1]