X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FTools%2FblocFissure%2Fgmu%2FidentifieElementsGeometriquesPeau.py;h=3e32edb8c943ee7b1308929c5ab97d13c4558667;hp=68b2455e26763fc6409363b5a0aed4e319288d0c;hb=HEAD;hpb=6d32f944a0a115b6419184c50b57bf7c4eef5786 diff --git a/src/Tools/blocFissure/gmu/identifieElementsGeometriquesPeau.py b/src/Tools/blocFissure/gmu/identifieElementsGeometriquesPeau.py index 68b2455e2..da03b0822 100644 --- a/src/Tools/blocFissure/gmu/identifieElementsGeometriquesPeau.py +++ b/src/Tools/blocFissure/gmu/identifieElementsGeometriquesPeau.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2014-2019 CEA/DEN, EDF R&D +# Copyright (C) 2014-2024 EDF # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -17,6 +17,7 @@ # # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # +"""Identification des éléments géométriques de la face de peau""" import logging @@ -26,51 +27,54 @@ 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') fillingFaceExterne = facesDefaut[ifil] logging.debug("traitement partitionPeauFissFond %s", ifil) - + # --- identification edges fond de fissure, edges pipe sur la face de fissure, edges prolongées # edges internes communes pipe et fissure, points communs edges fissure peau et edges circulaires - - (edgesPipeIn, verticesPipePeau, edgesFondIn, facesInside, facesOnside) = identifieElementsFissure(ifil, facesDefaut, partitionPeauFissFond, - edgesPipeFiss, edgesFondFiss, aretesVivesC, - fillingFaceExterne, centreFondFiss) - + + (edgesPipeIn, verticesPipePeau, edgesFondIn, facesInside, facesOnside) = \ + identifieElementsFissure(ifil, facesDefaut, partitionPeauFissFond, \ + edgesPipeFiss, edgesFondFiss, aretesVivesC, \ + fillingFaceExterne, centreFondFiss) + # --- elements débouchants (intersection pipe et peau), indexés selon les edges du fond de fissure (edgesFondIn) - + (verticesEdgesFondIn, pipexts, cercles, - facesFissExt, edgesFissExtPeau, edgesFissExtPipe) = identifieElementsDebouchants(ifil, facesDefaut, partitionPeauFissFond, - edgesFondIn, edgesFondFiss, wireFondFiss, - aretesVivesC, fillingFaceExterne, - edgesPipeIn, verticesPipePeau, rayonPipe, + facesFissExt, edgesFissExtPeau, edgesFissExtPipe) = identifieElementsDebouchants(ifil, facesDefaut, partitionPeauFissFond, \ + edgesFondIn, edgesFondFiss, wireFondFiss, \ + aretesVivesC, fillingFaceExterne, \ + edgesPipeIn, verticesPipePeau, rayonPipe, \ facesInside, facesOnside) # --- pour les faces de peau sans extremité débouchante de fissure, il faut recenser les edges de fissure sur la face de peau if len(verticesPipePeau) == 0: # aucune extrémité du pipe sur cette face de peau edgesFissExtPeau = trouveEdgesFissPeau(facesInside, facesOnside, edgesPipeIn, edgesFondIn, partitionPeauFissFond, edgesFissExtPeau) - + # --- inventaire des faces de peau : face de peau percée du pipe, extrémités du pipe - - (facePeau, facesPeauSorted, edgesPeauFondIn) = identifieFacesPeau(ifil, verticesPipePeau, facesOnside, wireFondFiss, - verticesEdgesFondIn, pipexts, cercles, - fillingFaceExterne, centreFondFiss) - + + (facePeau, facesPeauSorted, edgesPeauFondIn) = identifieFacesPeau(ifil, verticesPipePeau, facesOnside, wireFondFiss, \ + verticesEdgesFondIn, pipexts, cercles, \ + fillingFaceExterne, centreFondFiss, \ + nro_cas) + # --- identification précise des edges et disques des faces de peau selon index extremité fissure - - (endsEdgeFond, facesPipePeau, edgeRadFacePipePeau, - edgesCircPeau, verticesCircPeau, groupEdgesBordPeau, - bordsVifs, edgesFissurePeau, aretesVivesCoupees) = identifieEdgesPeau(edgesFissExtPipe, verticesPipePeau, facePeau, facesPeauSorted, - edgesPeauFondIn, fillingFaceExterne, aretesVivesC, aretesVivesCoupees) - + + (endsEdgeFond, facesPipePeau, edgeRadFacePipePeau, \ + edgesCircPeau, groupEdgesBordPeau, \ + bordsVifs, edgesFissurePeau, aretesVivesCoupees) = \ + identifieEdgesPeau(edgesFissExtPipe, verticesPipePeau, facePeau, facesPeauSorted, \ + edgesPeauFondIn, fillingFaceExterne, aretesVivesC, aretesVivesCoupees, \ + nro_cas) + dataPPFF = dict(endsEdgeFond = endsEdgeFond, # pour chaque face [points edge fond de fissure aux débouchés du pipe] facesPipePeau = facesPipePeau, # pour chaque face [faces du pipe débouchantes] edgeRadFacePipePeau = edgeRadFacePipePeau, # pour chaque face [edge radiale des faces du pipe débouchantes ] @@ -79,12 +83,10 @@ 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] verticesPipePeau = verticesPipePeau # pour chaque face de peau : [point commun edFissPeau edCircPeau] - ) + ) return dataPPFF, aretesVivesCoupees -