verticesEdgesFondIn, pipexts, cercles,
fillingFaceExterne, centreFondFiss):
"""
- inventaire des faces de peau : face de peau percée du pipe, extrémités du pipe
- La partition avec le pipe peut créer un vertex (et un edge) de trop sur le cercle projeté,
- quand le cercle est très proche de la face.
+ inventaire des faces de peau : face de peau percee du pipe, extremites du pipe
+ La partition avec le pipe peut creer un vertex (et un edge) de trop sur le cercle projete,
+ quand le cercle est tres proche de la face.
dans ce cas, la projection du cercle sur la face suivie d'une partition permet
- d'éviter le point en trop
+ d'eviter le point en trop
"""
logging.info('start')
sections.append(geompy.MakeSection(facesOnside[0], pipext))
partitionPeauByPipe = geompy.MakePartition(facesAndFond, sections, [], [], geompy.ShapeType["FACE"], 0, [], 1)
- # contrôle edge en trop sur edges circulaires
- if len(verticesPipePeau) > 0: # --- au moins une extrémité du pipe sur cette face de peau
+ # contrle edge en trop sur edges circulaires
+ if len(verticesPipePeau) > 0: # --- au moins une extremite du pipe sur cette face de peau
edgeEnTrop = []
outilPart = pipexts
facesPeau = geompy.ExtractShapes(partitionPeauByPipe, geompy.ShapeType["FACE"], False)
dc = [(geompy.MinDistance(verticesEdgesFondIn[0], fac), i) for i, fac in enumerate(facesPeauSorted[:-1])]
dc.sort()
logging.debug("dc sorted: %s", dc)
- i0 = dc[0][1] # indice de facesPeauSorted qui correspond à verticesEdgesFondIn[0], donc 0 pour cercles
+ i0 = dc[0][1] # indice de facesPeauSorted qui correspond a verticesEdgesFondIn[0], donc 0 pour cercles
direct = (i0 == 0)
for i, bad in enumerate(edgeEnTrop):
if direct:
[edgesPeauFondIn, edgesPeauFondOut, edgesPeauFondOn] = extractionOrientee(fillingFaceExterne, partitionPeauByPipe, centreFondFiss, "EDGE", 1.e-3)
[facesPeauFondIn, facesPeauFondOut, facesPeauFondOn] = extractionOrientee(fillingFaceExterne, partitionPeauByPipe, centreFondFiss, "FACE", 1.e-3)
- if len(verticesPipePeau) > 0: # --- au moins une extrémité du pipe sur cette face de peau
+ if len(verticesPipePeau) > 0: # --- au moins une extremite du pipe sur cette face de peau
facesPeauSorted, minsur, maxsurf = sortFaces(facesPeauFondOn)
facePeau = facesPeauSorted[-1] # la plus grande face
else:
name="facePeau%d"%ifil
geomPublish(initLog.debug, facePeau, name)
- return (facePeau, facesPeauSorted, edgesPeauFondIn)
\ No newline at end of file
+ return (facePeau, facesPeauSorted, edgesPeauFondIn)