diff --git a/src/Tools/blocFissure/CasTests/execution_Cas.py b/src/Tools/blocFissure/CasTests/execution_Cas.py index 138aebf21..633484499 100644 --- a/src/Tools/blocFissure/CasTests/execution_Cas.py +++ b/src/Tools/blocFissure/CasTests/execution_Cas.py @@ -129,7 +129,7 @@ runall = False if runall: torun = [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,] else: #prob 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27 - torun = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1,] + torun = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,] for i in range(len(problemes)): if torun[i]: diff --git a/src/Tools/blocFissure/gmu/creeZoneDefautMaillage.py b/src/Tools/blocFissure/gmu/creeZoneDefautMaillage.py index 9fcb7d58e..dee9bf84f 100644 --- a/src/Tools/blocFissure/gmu/creeZoneDefautMaillage.py +++ b/src/Tools/blocFissure/gmu/creeZoneDefautMaillage.py @@ -12,7 +12,7 @@ def creeZoneDefautMaillage(maillagesSains, shapeDefaut, tailleDefaut, nomZones, coordsNoeudsFissure): """ Identification de la zone à remailler, opérations sur le maillage - de l'objet sain + de l'objet sain. La zone à remailler est définie à partir d'un objet géométrique ou à partir d'un jeu de points et d'une distance d'influence. @param maillagesSains : (le maillage de l'objet initial, booleen isHexa) diff --git a/src/Tools/blocFissure/gmu/fusionMaillageAttributionDefaut.py b/src/Tools/blocFissure/gmu/fusionMaillageAttributionDefaut.py index d7736d213..89fef3ae5 100644 --- a/src/Tools/blocFissure/gmu/fusionMaillageAttributionDefaut.py +++ b/src/Tools/blocFissure/gmu/fusionMaillageAttributionDefaut.py @@ -2,7 +2,7 @@ """ Created on Tue Jun 24 09:14:13 2014 -@author: I48174 +@author: I48174 (Olivier HOAREAU) """ import logging @@ -48,16 +48,19 @@ def fusionMaillageDefaut(maillageSain, maillageDefautCible, maillageInterneCible # A partir des lignes de la face, # on recrée un objet GEOM temporaire par filling. filling = geompy.MakeFilling(geompy.MakeCompound(setOfLines), 2, 5, 0.0001, 0.0001, 0, GEOM.FOM_Default, True) - geompy.addToStudy(filling, 'filling_{0}'.format(i + 1)) + #logging.debug("face de filling") + #geompy.addToStudy(filling, 'filling_{0}'.format(i + 1)) - tmpPartition = geompy.MakePartition([filling], [shapeDefaut], [], [], geompy.ShapeType["FACE"], 0, [], 0, True) + tmpPartition = geompy.MakePartition([filling], [shapeDefaut], [], [], geompy.ShapeType["FACE"], 0, [], 0) tmpExplodeRef = geompy.ExtractShapes(filling, geompy.ShapeType["EDGE"], True) tmpExplodeNum = geompy.ExtractShapes(tmpPartition, geompy.ShapeType["EDGE"], True) if len(tmpExplodeRef) == len(tmpExplodeNum): + logging.debug("face de filling non coupee") geompy.addToStudy(filling, "faceNonCoupee_{0}".format(i + 1)) facesNonCoupees.append(filling) maillagesNonCoupes.append(listOfNewMeshes[i]) else: + logging.debug("face de filling coupee") geompy.addToStudy(filling, "faceCoupee_{0}".format(i + 1)) facesCoupees.append(filling) maillagesCoupes.append(listOfNewMeshes[i]) diff --git a/src/Tools/blocFissure/gmu/insereFissureLongue.py b/src/Tools/blocFissure/gmu/insereFissureLongue.py index ec8307c9d..8f9515846 100644 --- a/src/Tools/blocFissure/gmu/insereFissureLongue.py +++ b/src/Tools/blocFissure/gmu/insereFissureLongue.py @@ -79,7 +79,7 @@ def insereFissureLongue(geometriesSaines, maillagesSains, facePorteFissure = shapeDefaut WirePorteFondFissure = wiretube fillingFaceExterne = facesDefaut[0] - print fillingFaceExterne + logging.debug("fillingFaceExterne %s", fillingFaceExterne) geompy.addToStudy(fillingFaceExterne, "fillingFaceExterne") edgesFilling = geompy.ExtractShapes(fillingFaceExterne, geompy.ShapeType["EDGE"], False) diff --git a/src/Tools/blocFissure/gmu/listOfExtraFunctions.py b/src/Tools/blocFissure/gmu/listOfExtraFunctions.py index 535396226..fbdd5cf97 100644 --- a/src/Tools/blocFissure/gmu/listOfExtraFunctions.py +++ b/src/Tools/blocFissure/gmu/listOfExtraFunctions.py @@ -2,7 +2,7 @@ """ Created on Mon Jun 23 14:49:36 2014 -@author: I48174 +@author: I48174 (Olivier HOAREAU) """ import logging @@ -14,10 +14,11 @@ def lookForCorner(maillageAScanner): """ Cette fonction permet de scanner la liste de noeuds qui composent le maillage passé en paramètre. On recherche un ou plusieurs coins, ce qui implique les caractéristiques suivantes: - - le noeud doit appartenir au moins à trois éléments distinctes - - chaque élément doit appartenir à un ensemble distincte + - le noeud doit appartenir au moins à trois éléments distincts + - chaque élément doit appartenir à un ensemble distinct La fonction renvoie une liste de coins par l'intermédiaire de l'IDs - chaque noeud. La liste contient en général au maximum deux coins. """ + chaque noeud. La liste contient en général au maximum deux coins. + """ logging.info("start") @@ -27,19 +28,16 @@ def lookForCorner(maillageAScanner): # On parcours la liste de noeuds listOfElements = maillageAScanner.GetNodeInverseElements(ND) if len(listOfElements) >=3: - # On teste le nombre d'éléments qui partage le même noeud + # On teste le nombre d'éléments qui partagent le même noeud # --- Filtre selon le critère 'coplanar' --- # listOfCriterion = [smesh.GetCriterion(SMESH.FACE, SMESH.FT_CoplanarFaces, \ - SMESH.FT_Undefined, elem, SMESH.FT_Undefined, SMESH.FT_Undefined, 30) \ - for elem in listOfElements] - listOfFilters = [smesh.GetFilterFromCriteria([criteria]) \ - for criteria in listOfCriterion] - # ------------------------------------------ # - listOfSets = [maillageAScanner.GetIdsFromFilter(filter) \ - for filter in listOfFilters] + SMESH.FT_Undefined, elem, SMESH.FT_Undefined, SMESH.FT_Undefined, 30) \ + for elem in listOfElements] + listOfFilters = [smesh.GetFilterFromCriteria([criteria]) for criteria in listOfCriterion] + listOfSets = [maillageAScanner.GetIdsFromFilter(filter) for filter in listOfFilters] if listOfSets.count(listOfSets[0]) == len(listOfSets): # Si toutes les listes d'éléments sont similaires, on retourne - # au début pour éviter de travailler sur des éléments inutils. + # au début pour éviter de travailler sur des éléments inutiles. # Exemple : un noeud appartenant à 4 éléments sur la même face. continue for s in listOfSets: @@ -56,7 +54,7 @@ def createLinesFromMesh(maillageSupport): """ Cette fonction permet de générer une liste de lignes à partir du maillage support passé en paramètre. On démarre à partir d'un coin - simple et on parcourt tout les noeuds pour former un ligne. Soit la + simple et on parcourt tout les noeuds pour former une ligne. Soit la figure ci-dessous : 1_____4_____7 On part du coin N1, et on cherche les noeuds @@ -69,7 +67,8 @@ def createLinesFromMesh(maillageSupport): | | | dernière ligne, à savoir le noeud N9, on considère 3_____6_____9 que toutes les lignes sont créées. - La fonction retourne une liste de lignes utilisées par la suite. """ + La fonction retourne une liste de lignes utilisées par la suite. + """ logging.info("start") @@ -173,7 +172,8 @@ def createNewMeshesFromCorner(maillageSupport, listOfCorners): """ Cette fonction permet de générer un nouveau maillage plus facile à utiliser. On démarre d'un coin et on récupère les trois éléments auquel le noeud appartient. Grâce à un filtre 'coplanar' sur les trois - éléments, on peut générer des faces distinctes. """ + éléments, on peut générer des faces distinctes. + """ logging.info("start") @@ -184,9 +184,8 @@ def createNewMeshesFromCorner(maillageSupport, listOfCorners): for i, elem in enumerate(elems): # --- Filtre selon le critère 'coplanar' --- # critere = smesh.GetCriterion(SMESH.FACE, SMESH.FT_CoplanarFaces, \ - SMESH.FT_Undefined, elem, SMESH.FT_Undefined, SMESH.FT_Undefined, 30) + SMESH.FT_Undefined, elem, SMESH.FT_Undefined, SMESH.FT_Undefined, 30) filtre = smesh.GetFilterFromCriteria([critere]) - # ------------------------------------------ # grp = maillageSupport.GroupOnFilter(SMESH.FACE, 'grp', filtre) # On copie le maillage en fonction du filtre msh = smesh.CopyMesh(grp, 'new_{0}'.format(i + 1), False, True) diff --git a/src/Tools/blocFissure/gmu/peauInterne.py b/src/Tools/blocFissure/gmu/peauInterne.py index 3899a72be..b1915042e 100644 --- a/src/Tools/blocFissure/gmu/peauInterne.py +++ b/src/Tools/blocFissure/gmu/peauInterne.py @@ -21,7 +21,7 @@ def peauInterne(fichierMaillage, shapeDefaut, nomZones): groups = maillageSain.GetGroups() zoneDefaut = None for grp in groups: - #print " ",grp.GetName() + logging.debug("groupe %s",grp.GetName()) if grp.GetName() == nomZones + "_vol": zoneDefaut = grp break @@ -47,9 +47,9 @@ def peauInterne(fichierMaillage, shapeDefaut, nomZones): maillageDefautCible = smesh.CopyMesh(zoneDefaut_skin, 'maillageCible', 0, 0) listOfCorner = lookForCorner(maillageDefautCible) - print "listOfCorner = ", listOfCorner + logging.debug("listOfCorner = %s", listOfCorner) if len(listOfCorner) > 0: - print " /!\ SUITE DU SCRIPT EN CONSTRUCTION /!\\" + logging.info("présence de coins à la surface externe de la zone à reconstruire") zoneDefaut_skin, internalBoundary = fusionMaillageDefaut(maillageSain, maillageDefautCible, internalBoundary, zoneDefaut_skin, shapeDefaut, listOfCorner) return maillageSain, internalBoundary, zoneDefaut, zoneDefaut_skin, zoneDefaut_internalFaces, zoneDefaut_internalEdges diff --git a/src/Tools/blocFissure/gmu/quadranglesToShapeNoCorner.py b/src/Tools/blocFissure/gmu/quadranglesToShapeNoCorner.py index 15b74a516..a305a05d9 100644 --- a/src/Tools/blocFissure/gmu/quadranglesToShapeNoCorner.py +++ b/src/Tools/blocFissure/gmu/quadranglesToShapeNoCorner.py @@ -50,7 +50,6 @@ def quadranglesToShapeNoCorner(meshQuad, shapeFissureParams, centreFondFiss): idStart = idNode # le noeud de coin elemStart = elem # l'élément quadrangle au coin xyz = meshQuad.GetNodeXYZ(idStart) - print "xyz = ", xyz logging.debug("idStart %s, coords %s", idStart, str(xyz)) nodelines =[] # on va constituer une liste de lignes de points @@ -128,9 +127,9 @@ def quadranglesToShapeNoCorner(meshQuad, shapeFissureParams, centreFondFiss): logging.debug("nodeline %s", nodeline) logging.debug("elemline %s", elemline) nodelines.append(nodeline) - print "nodelines = ", nodelines + logging.debug("nodelines = %s", nodelines) longueur = [len(val) for val in nodelines] - print "longueur = ", longueur + logging.debug("longueur = %s", longueur) # on a constitué une liste de lignes de points connexes logging.debug("dimensions [%s, %s]", len(nodelines), len(nodeline)) @@ -305,7 +304,7 @@ def quadranglesToShapeNoCorner(meshQuad, shapeFissureParams, centreFondFiss): noeuds_bords.append(noeudsBords) idFilToCont.append(icont) bords_Partages += bordsPartages - print "bords_Partages = ", bords_Partages + logging.debug("bords_Partages = %s", bords_Partages) pass # --- loop on mats # --- reconstruction des faces continues à partir des listes de noeuds # les courbes doivent suivre la courbure pour éviter les oscillations