From e2f6c813044ef7f4d7cc5b431d0a2581b34ddca3 Mon Sep 17 00:00:00 2001 From: =?utf8?q?G=C3=A9rald=20NICOLAS?= Date: Mon, 19 Apr 2021 15:53:53 +0200 Subject: [PATCH] =?utf8?q?Tri=20dans=20le=20rep=C3=A9rage=20des=20ar=C3=AA?= =?utf8?q?tes=20de=20peau?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../gmu/construitFissureGenerale.py | 6 +-- .../gmu/construitFissureGenerale_b.py | 4 +- .../blocFissure/gmu/identifieEdgesPeau.py | 4 +- .../blocFissure/gmu/identifieEdgesPeau_a.py | 33 +++++++------- .../blocFissure/gmu/identifieEdgesPeau_b.py | 12 +++-- .../blocFissure/gmu/identifieEdgesPeau_c.py | 45 ++++++++++--------- .../gmu/identifieElementsGeometriquesPeau.py | 11 +++-- .../blocFissure/gmu/mailleFacesFissure.py | 3 +- src/Tools/blocFissure/gmu/mailleFacesPeau.py | 39 ++++++++-------- 9 files changed, 80 insertions(+), 77 deletions(-) diff --git a/src/Tools/blocFissure/gmu/construitFissureGenerale.py b/src/Tools/blocFissure/gmu/construitFissureGenerale.py index a2aa580c4..90e0f60f7 100644 --- a/src/Tools/blocFissure/gmu/construitFissureGenerale.py +++ b/src/Tools/blocFissure/gmu/construitFissureGenerale.py @@ -132,8 +132,8 @@ def construitFissureGenerale(shapesFissure, shapeFissureParams, \ # --- inventaire des faces de peau coupées par la fissure - ptEdgeFond, fsFissuExt, edFisExtPe, edFisExtPi, \ - facesPeaux, edCircPeau, ptCircPeau, gpedgeBord, gpedgeVifs, edFissPeau, ptFisExtPi, \ + ptEdgeFond, fsFissuExt, edFisExtPe, edFisExtPi, facesPeaux, edCircPeau, \ + gpedgeBord, gpedgeVifs, edFissPeau, ptFisExtPi, \ edgeRadFacePipePeau, facesPipePeau = \ construitFissureGenerale_b( partitionsPeauFissFond, \ edgesPipeFiss, edgesFondFiss, wireFondFiss, aretesVivesC, \ @@ -201,7 +201,7 @@ def construitFissureGenerale(shapesFissure, shapeFissureParams, \ # --- maillage faces de peau meshesFacesPeau = mailleFacesPeau(partitionsPeauFissFond, idFillingFromBout, facesDefaut, \ - facesPeaux, edCircPeau, ptCircPeau, gpedgeBord, gpedgeVifs, edFissPeau, \ + facesPeaux, edCircPeau, gpedgeBord, gpedgeVifs, edFissPeau, \ bordsLibres, grpEdgesPeauFissureExterne, grpAretesVives, \ edgesCircPipeGroup, dmoyen, rayonPipe, nbsegRad, \ mailleur, nro_cas) diff --git a/src/Tools/blocFissure/gmu/construitFissureGenerale_b.py b/src/Tools/blocFissure/gmu/construitFissureGenerale_b.py index bf2c5d4fd..b96ce6386 100644 --- a/src/Tools/blocFissure/gmu/construitFissureGenerale_b.py +++ b/src/Tools/blocFissure/gmu/construitFissureGenerale_b.py @@ -50,7 +50,6 @@ pour chaque face de peau : 0, 1 ou 2 faces débouchante du fond de fissure edFisExtPi = [ list() for _ in range(nbFacesFilling)] # pour chaque face [edge commun au pipe des faces de fissure externes] facesPeaux = [None for _ in range(nbFacesFilling)] # pour chaque face : la face de peau finale a mailler (percée des faces débouchantes) edCircPeau = [ list() for _ in range(nbFacesFilling)] # pour chaque face de peau : [subshape edge circulaire aux débouchés du pipe] - ptCircPeau = [ list() for _ in range(nbFacesFilling)] # pour chaque face de peau : [subshape point sur edge circulaire aux débouchés du pipe] gpedgeBord = [None for _ in range(nbFacesFilling)] # pour chaque face de peau : groupe subshape des edges aux bords liés à la partie saine gpedgeVifs = [None for _ in range(nbFacesFilling)] # pour chaque face de peau : groupes subshape des edges aux arêtes vives entre fillings edFissPeau = [ list() for _ in range(nbFacesFilling)] # pour chaque face de peau : [subshape edge en peau des faces de fissure externes] @@ -70,7 +69,6 @@ pour chaque face de peau : 0, 1 ou 2 faces débouchante du fond de fissure edFisExtPi[ifil] = dataPPFF['edgesFissExtPipe'] facesPeaux[ifil] = dataPPFF['facePeau'] edCircPeau[ifil] = dataPPFF['edgesCircPeau'] - ptCircPeau[ifil] = dataPPFF['verticesCircPeau'] gpedgeBord[ifil] = dataPPFF['groupEdgesBordPeau'] gpedgeVifs[ifil] = dataPPFF['bordsVifs'] edFissPeau[ifil] = dataPPFF['edgesFissurePeau'] @@ -87,5 +85,5 @@ pour chaque face de peau : 0, 1 ou 2 faces débouchante du fond de fissure geomPublish(initLog.debug, avc, name, nro_cas) return ptEdgeFond, fsFissuExt, edFisExtPe, edFisExtPi, facesPeaux, edCircPeau, \ - ptCircPeau, gpedgeBord, gpedgeVifs, edFissPeau, ptFisExtPi, \ + gpedgeBord, gpedgeVifs, edFissPeau, ptFisExtPi, \ edgeRadFacePipePeau, facesPipePeau diff --git a/src/Tools/blocFissure/gmu/identifieEdgesPeau.py b/src/Tools/blocFissure/gmu/identifieEdgesPeau.py index c4cbe095c..f782d8d7c 100644 --- a/src/Tools/blocFissure/gmu/identifieEdgesPeau.py +++ b/src/Tools/blocFissure/gmu/identifieEdgesPeau.py @@ -57,6 +57,6 @@ def identifieEdgesPeau(edgesFissExtPipe, verticesPipePeau, facePeau, facesPeauSo # --- edges de la face de peau partagées avec la face de fissure edgesFissurePeau = identifieEdgesPeau_c(verticesPipePeau, facePeau, edgesListees, verticesCircPeau) - return (endsEdgeFond, facesPipePeau, edgeRadFacePipePeau, - edgesCircPeau, verticesCircPeau, groupEdgesBordPeau, + return (endsEdgeFond, facesPipePeau, edgeRadFacePipePeau, \ + edgesCircPeau, groupEdgesBordPeau, \ bordsVifs, edgesFissurePeau, aretesVivesCoupees) diff --git a/src/Tools/blocFissure/gmu/identifieEdgesPeau_a.py b/src/Tools/blocFissure/gmu/identifieEdgesPeau_a.py index b13a9ec49..869b17894 100644 --- a/src/Tools/blocFissure/gmu/identifieEdgesPeau_a.py +++ b/src/Tools/blocFissure/gmu/identifieEdgesPeau_a.py @@ -32,6 +32,7 @@ def identifieEdgesPeau_a(edgesFissExtPipe, facePeau, facesPeauSorted, edgesPeauF nro_cas=None): """Identification précise des edges et disques des faces de peau selon index extremité fissure""" logging.info('start') + logging.info("Traitement des arêtes de '%s'", facePeau.GetName()) for face in facesPeauSorted[:-1]: # la ou les faces débouchantes, pas la grande face de peau logging.debug("examen face debouchante circulaire") @@ -46,7 +47,6 @@ def identifieEdgesPeau_a(edgesFissExtPipe, facePeau, facesPeauSorted, edgesPeauF sharedVertices = geompy.GetSharedShapesMulti([face, edgesPeauFondIn[j_aux_0]], geompy.ShapeType["VERTEX"]) nameFace = "facePipePeau_{}".format(i_aux) nameVert = "endEdgeFond_{}".format(i_aux) - nameEdge = "edgeRadFacePipePeau_{}".format(i_aux) facesPipePeau[i_aux] = face endsEdgeFond[i_aux] = sharedVertices[0] geomPublish(initLog.debug, face, nameFace, nro_cas) @@ -55,29 +55,30 @@ def identifieEdgesPeau_a(edgesFissExtPipe, facePeau, facesPeauSorted, edgesPeauF for edge in edgesFace: if geompy.MinDistance(edge, sharedVertices[0]) < 1e-3: edgeRadFacePipePeau[i_aux] = edge + nameEdge = "edgeRadFacePipePeau_{}".format(i_aux) geomPublish(initLog.debug, edge, nameEdge, nro_cas) break # --- edges elliptiques de la face de peau et points de jonction de la face externe de fissure - logging.info("Traitement des arêtes de '%s'", facePeau.GetName()) - edgesCircPeau = [None for _ in range(len(facesPipePeau))] - verticesCircPeau = [None for _ in range(len(facesPipePeau))] + logging.info('Nombre de faces : len(facesPipePeau) = %d', len(facesPipePeau)) + edgesCircPeau = list() + verticesCircPeau = list() for i_aux,fcirc in enumerate(facesPipePeau): - logging.info(". Partage avec la face '%s'", fcirc.GetName()) + # Arêtes edges = geompy.GetSharedShapesMulti([facePeau, fcirc], geompy.ShapeType["EDGE"]) - grpEdgesCirc = geompy.CreateGroup(facePeau, geompy.ShapeType["EDGE"]) - geompy.UnionList(grpEdgesCirc, edges) - edgesCircPeau[i_aux] = grpEdgesCirc - name = "edgeCirc_{}".format(i_aux) - geomPublishInFather(initLog.always, facePeau, grpEdgesCirc, name) + groupe = geompy.CreateGroup(facePeau, geompy.ShapeType["EDGE"]) + geompy.UnionList(groupe, edges) + geomPublishInFather(initLog.always, facePeau, groupe, "edgeCirc_{}".format(i_aux)) + edgesCircPeau.append(groupe) edgesListees = edgesListees + edges + # Sommets vertices = geompy.GetSharedShapesMulti([facePeau, fcirc], geompy.ShapeType["VERTEX"]) - grpVertCircPeau = geompy.CreateGroup(facePeau, geompy.ShapeType["VERTEX"]) - geompy.UnionList(grpVertCircPeau, vertices) - verticesCircPeau[i_aux] = grpVertCircPeau - name = "pointEdgeCirc_{}".format(i_aux) - geomPublishInFather(initLog.info, facePeau, grpVertCircPeau, name) + groupe = geompy.CreateGroup(facePeau, geompy.ShapeType["VERTEX"]) + geompy.UnionList(groupe, vertices) + geomPublishInFather(initLog.info, facePeau, groupe, "point(s)EdgeCirc_{}".format(i_aux)) + verticesCircPeau.append(groupe) - logging.info('==> Nombre de sommets : len(verticesCircPeau) = %d', len(verticesCircPeau)) + logging.info("==> Nombre de groupes d'arêtes : len(edgesCircPeau) = %d", len(edgesCircPeau)) + logging.info("==> Nombre de groupes de sommets : len(verticesCircPeau) = %d", len(verticesCircPeau)) return edgesCircPeau, verticesCircPeau diff --git a/src/Tools/blocFissure/gmu/identifieEdgesPeau_b.py b/src/Tools/blocFissure/gmu/identifieEdgesPeau_b.py index 3044d61de..bdde0322b 100644 --- a/src/Tools/blocFissure/gmu/identifieEdgesPeau_b.py +++ b/src/Tools/blocFissure/gmu/identifieEdgesPeau_b.py @@ -32,7 +32,9 @@ def identifieEdgesPeau_b(facePeau, edgesListees, \ """edges de bord de la face de peau""" logging.info('start') + # Liste des arêtes de bord edgesFilling = geompy.ExtractShapes(fillingFaceExterne, geompy.ShapeType["EDGE"], False) + logging.info('Détermination des arêtes de bord à partir des %d arêtes de fillingFaceExterne', len(edgesFilling)) edgesBords = list() for i_aux, edge in enumerate(edgesFilling): edgepeau = geompy.GetInPlace(facePeau, edge) @@ -42,18 +44,19 @@ def identifieEdgesPeau_b(facePeau, edgesListees, \ if geompy.ShapeInfo(edgepeau)['EDGE'] > 1: logging.debug(" EDGES multiples") l_edges = geompy.ExtractShapes(edgepeau, geompy.ShapeType["EDGE"], False) - edgesBords += l_edges - edgesListees += l_edges + edgesBords.extend(l_edges) + edgesListees.extend(l_edges) else: logging.debug(" EDGE") edgesBords.append(edgepeau) edgesListees.append(edgepeau) + logging.info('==> Nombre d arêtes de bord : len(edgesBords) = %d', len(edgesBords)) groupEdgesBordPeau = geompy.CreateGroup(facePeau, geompy.ShapeType["EDGE"]) geompy.UnionList(groupEdgesBordPeau, edgesBords) bordsVifs = None if aretesVivesC is not None: - logging.debug("identification des bords vifs par GetInPlace") + logging.info("identification des bords vifs par GetInPlace") bordsVifs = geompy.GetInPlace(facePeau, aretesVivesC) if bordsVifs is None: logging.debug("pas d'identification des bords vifs par GetInPlace: test par distance") @@ -69,7 +72,8 @@ def identifieEdgesPeau_b(facePeau, edgesListees, \ if ( dist < 0.001 ): edvifs.append(edge) break - if len(edvifs) >0: + if edvifs: + logging.info('==> Nombre d arêtes de bord vif : len(edvifs) = %d', len(edvifs)) bordsVifs = geompy.CreateGroup(facePeau,geompy.ShapeType["EDGE"]) for edge in edvifs: geompy.AddObject(bordsVifs, geompy.GetSubShapeID(facePeau, edge)) diff --git a/src/Tools/blocFissure/gmu/identifieEdgesPeau_c.py b/src/Tools/blocFissure/gmu/identifieEdgesPeau_c.py index afe027f1f..233e3c9a8 100644 --- a/src/Tools/blocFissure/gmu/identifieEdgesPeau_c.py +++ b/src/Tools/blocFissure/gmu/identifieEdgesPeau_c.py @@ -33,38 +33,39 @@ def identifieEdgesPeau_c(verticesPipePeau, facePeau, edgesListees, verticesCircP logging.info('start') logging.info("Traitement des arêtes de '%s'", facePeau.GetName()) logging.info('Nombre de sommets : len(verticesPipePeau) = %d', len(verticesPipePeau)) - #logging.info('verticesPipePeau = %s', verticesPipePeau) - logging.info('Nombre de sommets : len(verticesCircPeau) = %d', len(verticesCircPeau)) - #logging.info('verticesCircPeau = %s', verticesCircPeau) edgesPeau = geompy.ExtractShapes(facePeau, geompy.ShapeType["EDGE"], False) logging.info('Nombre total d arêtes de la peau : len(edgesPeau) = %d', len(edgesPeau)) edges = substractSubShapes(facePeau, edgesPeau, edgesListees) - edgesFissurePeau = list() -# --- au moins une extrémité du pipe sur cette face de peau + l_edge_cercle = list() +# --- au moins une extrémité du pipe sur cette face de peau : arêtes sui les prenent toutes if verticesPipePeau: - # En premier, les edges associés aux extrémités du pipe - edgesFissurePeau = [None for _ in range(len(verticesCircPeau))] - for edge in edges: - for i_aux, vertex in enumerate(verticesCircPeau): - logging.info(".. distance %s", geompy.MinDistance(vertex, edge)) - if ( ( geompy.MinDistance(vertex, edge) < 1.e-3 ) and ( edge not in edgesFissurePeau ) ): - edgesFissurePeau[i_aux] = edge - name = "edgeFissurePeau_{}".format(i_aux) - logging.info("... entrée de %s à la place %d", edge, i_aux) - geomPublishInFather(initLog.debug, facePeau, edge, name) - # Ensuite, on ajoute les edges manquantes + i_aux = -1 for edge in edges: - if edge not in edgesFissurePeau: - logging.info("... ajout") - edgesFissurePeau.append(edge) + for groupe in verticesCircPeau: + cercle = True + for id_vertex in geompy.GetObjectIDs(groupe): + vertex = geompy.GetSubShape(facePeau, [id_vertex]) + distance = geompy.MinDistance(vertex, edge) + logging.info(".. distance %s", distance) + if ( distance > 1.e-3 ): + cercle = False + break + if cercle: + logging.info("... entrée de %s dans l_edge_cercle", edge) + l_edge_cercle.append(edge) + i_aux += 1 + name = "edgeFissurePeauCercle_{}".format(i_aux) + geomPublishInFather(initLog.info, facePeau, edge, name) - else: - for i_aux, edge in enumerate(edges): +# --- Les arêtes n'appartenant pas aux cercles + edgesFissurePeau = list() + for i_aux, edge in enumerate(edges): + if edge not in l_edge_cercle: edgesFissurePeau.append(edge) - name = "edgeFissurePeau{}".format(i_aux) + name = "edgeFissurePeau_{}".format(i_aux) geomPublishInFather(initLog.debug, facePeau, edge, name) logging.info('==> Nombre d arêtes : len(edgesFissurePeau) = %d', len(edgesFissurePeau)) diff --git a/src/Tools/blocFissure/gmu/identifieElementsGeometriquesPeau.py b/src/Tools/blocFissure/gmu/identifieElementsGeometriquesPeau.py index e585993b7..3e32edb8c 100644 --- a/src/Tools/blocFissure/gmu/identifieElementsGeometriquesPeau.py +++ b/src/Tools/blocFissure/gmu/identifieElementsGeometriquesPeau.py @@ -27,10 +27,9 @@ from .trouveEdgesFissPeau import trouveEdgesFissPeau from .identifieFacesPeau import identifieFacesPeau from .identifieEdgesPeau import identifieEdgesPeau -def identifieElementsGeometriquesPeau(ifil, partitionPeauFissFond, edgesPipeFiss, \ - edgesFondFiss, wireFondFiss, aretesVivesC, \ - facesDefaut, centreFondFiss, rayonPipe, \ - aretesVivesCoupees, \ +def identifieElementsGeometriquesPeau(ifil, partitionPeauFissFond, \ + edgesPipeFiss, edgesFondFiss, wireFondFiss, aretesVivesC, \ + facesDefaut, centreFondFiss, rayonPipe, aretesVivesCoupees, \ nro_cas=None): """Identification des éléments géométriques de la face de peau""" logging.info('start') @@ -69,7 +68,8 @@ def identifieElementsGeometriquesPeau(ifil, partitionPeauFissFond, edgesPipeFiss # --- identification précise des edges et disques des faces de peau selon index extremité fissure - (endsEdgeFond, facesPipePeau, edgeRadFacePipePeau, edgesCircPeau, verticesCircPeau, groupEdgesBordPeau, \ + (endsEdgeFond, facesPipePeau, edgeRadFacePipePeau, \ + edgesCircPeau, groupEdgesBordPeau, \ bordsVifs, edgesFissurePeau, aretesVivesCoupees) = \ identifieEdgesPeau(edgesFissExtPipe, verticesPipePeau, facePeau, facesPeauSorted, \ edgesPeauFondIn, fillingFaceExterne, aretesVivesC, aretesVivesCoupees, \ @@ -83,7 +83,6 @@ def identifieElementsGeometriquesPeau(ifil, partitionPeauFissFond, edgesPipeFiss edgesFissExtPipe = edgesFissExtPipe, # pour chaque face [edge commun au pipe des faces de fissure externes] facePeau = facePeau, # pour chaque face : la face de peau finale a mailler (percee des faces débouchantes) edgesCircPeau = edgesCircPeau, # pour chaque face de peau : [groupe subshapes edges circulaires aux débouchés du pipe] - verticesCircPeau = verticesCircPeau, # pour chaque face de peau : [groupe subshapes points sur edges circulaires aux débouchés du pipe] groupEdgesBordPeau = groupEdgesBordPeau, # pour chaque face de peau : groupe subshape des edges aux bords liés à la partie saine bordsVifs = bordsVifs, # pour chaque face de peau : groupe subshape des edges aux bords correspondant à des arêtes vives edgesFissurePeau = edgesFissurePeau, # pour chaque face de peau : [subshape edge en peau des faces de fissure externes] diff --git a/src/Tools/blocFissure/gmu/mailleFacesFissure.py b/src/Tools/blocFissure/gmu/mailleFacesFissure.py index 546525af9..456386235 100644 --- a/src/Tools/blocFissure/gmu/mailleFacesFissure.py +++ b/src/Tools/blocFissure/gmu/mailleFacesFissure.py @@ -60,7 +60,8 @@ def mailleFacesFissure(faceFissureExterne, \ hypo2d.SetQuadAllowed( 0 ) putName(hypo2d, "faceFiss", i_pref=nro_cas) - logging.info("UseExisting1DElements depuis '%s'", edgesPipeFissureExterneC.GetName()) + logging.info("UseExisting1DElements sur la géométrie '%s' avec les mailles de '%s'", \ + edgesPipeFissureExterneC.GetName(), edgeFaceFissGroup.GetName()) algo1d = meshFaceFiss.UseExisting1DElements(geom=edgesPipeFissureExterneC) putName(algo1d.GetSubMesh(), "edgeFissPeau", i_pref=nro_cas) hypo1d = algo1d.SourceEdges([ edgeFaceFissGroup ],0,0) diff --git a/src/Tools/blocFissure/gmu/mailleFacesPeau.py b/src/Tools/blocFissure/gmu/mailleFacesPeau.py index 9e56f5815..f53859b71 100644 --- a/src/Tools/blocFissure/gmu/mailleFacesPeau.py +++ b/src/Tools/blocFissure/gmu/mailleFacesPeau.py @@ -34,7 +34,7 @@ from . import initLog from .putName import putName def mailleFacesPeau(partitionsPeauFissFond, idFillingFromBout, facesDefaut, \ - facesPeaux, edCircPeau, ptCircPeau, gpedgeBord, gpedgeVifs, edFissPeau, \ + facesPeaux, edCircPeau, gpedgeBord, gpedgeVifs, edFissPeau, \ bordsLibres, grpEdgesPeauFissureExterne, grpAretesVives, \ edgesCircPipeGroup, dmoyen, rayonPipe, nbsegRad, \ mailleur="MeshGems", nro_cas=None): @@ -91,13 +91,13 @@ def mailleFacesPeau(partitionsPeauFissFond, idFillingFromBout, facesDefaut, \ # --- edges de bord de la face de filling filling = facesDefaut[ifil] edgesFilling = geompy.ExtractShapes(filling, geompy.ShapeType["EDGE"], False) - groupEdgesBordPeau = geompy.CreateGroup(filling, geompy.ShapeType["EDGE"]) - geompy.UnionList(groupEdgesBordPeau, edgesFilling) - geomPublishInFather(initLog.always, filling, groupEdgesBordPeau, "EdgesBords", nro_cas) + gpedgeBord[ifil] = geompy.CreateGroup(filling, geompy.ShapeType["EDGE"]) + geompy.UnionList(gpedgeBord[ifil], edgesFilling) + geomPublishInFather(initLog.always, filling, gpedgeBord[ifil], "EdgesBords", nro_cas) logging.info("UseExisting1DElements sur la géométrie '%s' avec les mailles de '%s'", \ - groupEdgesBordPeau.GetName(), bordsLibres.GetName()) - algo1d = meshFacePeau.UseExisting1DElements(geom=groupEdgesBordPeau) + gpedgeBord[ifil].GetName(), bordsLibres.GetName()) + algo1d = meshFacePeau.UseExisting1DElements(geom=gpedgeBord[ifil]) putName(algo1d.GetSubMesh(), "bordsLibres", ifil, nro_cas) hypo1d = algo1d.SourceEdges([ bordsLibres ],0,0) putName(hypo1d, "SourceEdges_{}".format(bordsLibres.GetName()), ifil, nro_cas) @@ -105,21 +105,20 @@ def mailleFacesPeau(partitionsPeauFissFond, idFillingFromBout, facesDefaut, \ else: logging.info("face de peau %d coupée par la fissure", ifil) - edgesCircPeau = edCircPeau[ifil] # pour chaque face de peau : [subshape edge circulaire aux débouchés du pipe] - _ = ptCircPeau[ifil] # pour chaque face de peau : [subshape point sur edge circulaire aux débouchés du pipe] - groupEdgesBordPeau = gpedgeBord[ifil] # pour chaque face de peau : groupe subshape des edges aux bords liés à la partie saine - bordsVifs = gpedgeVifs[ifil] # pour chaque face de peau : groupe subshape des edges aux bords correspondant à des arêtes vives - edgesFissurePeau = edFissPeau[ifil] # pour chaque face de peau : [subshape edge en peau des faces de fissure externes] + # edCircPeau[ifil] # pour chaque face de peau : [subshape edge circulaire aux débouchés du pipe] + # gpedgeBord[ifil] : pour chaque face de peau : groupe subshape des edges aux bords liés à la partie saine + # gpedgeVifs[ifil] : pour chaque face de peau : groupe subshape des edges aux bords correspondant à des arêtes vives + # edFissPeau[ifil] : pour chaque face de peau : [subshape edge en peau des faces de fissure externes] logging.info("UseExisting1DElements sur la géométrie '%s' avec les mailles de '%s'", \ - groupEdgesBordPeau.GetName(), bordsLibres.GetName()) - algo1d = meshFacePeau.UseExisting1DElements(geom=groupEdgesBordPeau) + gpedgeBord[ifil].GetName(), bordsLibres.GetName()) + algo1d = meshFacePeau.UseExisting1DElements(geom=gpedgeBord[ifil]) putName(algo1d.GetSubMesh(), "bordsLibres", ifil, nro_cas) hypo1d = algo1d.SourceEdges([ bordsLibres ],0,0) putName(hypo1d, "SourceEdges_{}".format(bordsLibres.GetName()), i_pref=nro_cas) - objet = geompy.MakeCompound(edgesFissurePeau) - geomPublishInFather(initLog.always, facePeau, objet, "edgesFissurePeau") + objet = geompy.MakeCompound(edFissPeau[ifil]) + geomPublishInFather(initLog.always, facePeau, objet, "edFissPeau_{}".format(ifil)) logging.info("UseExisting1DElements sur la géométrie '%s' avec les mailles de '%s'", \ objet.GetName(), grpEdgesPeauFissureExterne.GetName()) algo1d = meshFacePeau.UseExisting1DElements(geom=objet) @@ -127,15 +126,15 @@ def mailleFacesPeau(partitionsPeauFissFond, idFillingFromBout, facesDefaut, \ hypo1d = algo1d.SourceEdges([ grpEdgesPeauFissureExterne ],0,0) putName(hypo1d, "SourceEdges_{}".format(grpEdgesPeauFissureExterne.GetName()), i_pref=nro_cas) - if bordsVifs is not None: + if gpedgeVifs[ifil] is not None: logging.info("UseExisting1DElements sur la géométrie '%s' avec les mailles de '%s'", \ - bordsVifs.GetName(), grpAretesVives.GetName()) - algo1d = meshFacePeau.UseExisting1DElements(geom=bordsVifs) - putName(algo1d.GetSubMesh(), "bordsVifs", ifil, nro_cas) + gpedgeVifs[ifil].GetName(), grpAretesVives.GetName()) + algo1d = meshFacePeau.UseExisting1DElements(geom=gpedgeVifs[ifil]) + putName(algo1d.GetSubMesh(), "gpedgeVifs", ifil, nro_cas) hypo1d = algo1d.SourceEdges([ grpAretesVives ],0,0) putName(hypo1d, "SourceEdges_{}".format(grpAretesVives.GetName()), i_pref=nro_cas) - for i_aux, edgeCirc in enumerate(edgesCircPeau): + for i_aux, edgeCirc in enumerate(edCircPeau[ifil]): texte = "i_aux = {}".format(i_aux) logging.info(texte) if edgeCirc is not None: -- 2.30.2