From 14c45e1f6f60a0c520f3c9b5164f342eddbe45d6 Mon Sep 17 00:00:00 2001 From: GERALD NICOLAS Date: Mon, 26 Apr 2021 09:42:17 +0200 Subject: [PATCH 01/10] Changement de nom --- ...ssure_without_session.py => blocFissure_01_without_session.py} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename doc/salome/examples/{blocFissure_without_session.py => blocFissure_01_without_session.py} (100%) diff --git a/doc/salome/examples/blocFissure_without_session.py b/doc/salome/examples/blocFissure_01_without_session.py similarity index 100% rename from doc/salome/examples/blocFissure_without_session.py rename to doc/salome/examples/blocFissure_01_without_session.py From e55b4566a423f05e3f986988a596b299bc9d58a3 Mon Sep 17 00:00:00 2001 From: GERALD NICOLAS Date: Mon, 26 Apr 2021 10:34:06 +0200 Subject: [PATCH 02/10] passage en classe --- .../blocFissure/CasTests/execution_Cas.py | 686 ++++++++++++------ 1 file changed, 470 insertions(+), 216 deletions(-) diff --git a/src/Tools/blocFissure/CasTests/execution_Cas.py b/src/Tools/blocFissure/CasTests/execution_Cas.py index 2213dbce7..ef550f868 100644 --- a/src/Tools/blocFissure/CasTests/execution_Cas.py +++ b/src/Tools/blocFissure/CasTests/execution_Cas.py @@ -17,10 +17,13 @@ # # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # +__revision__ = "V02.01" + """Lancement des cas-tests de blocFissure""" import logging import os +import sys import tempfile import traceback @@ -35,236 +38,437 @@ LOGFILE = os.path.join(tempfile.gettempdir(),"blocFissure.log") #initLog.setPerfTests(LOGFILE) # critical = 50 #initLog.setAlways(LOGFILE) # critical = 50 -# ---tous les cas en séquence, ou les cas sélectionnés ... +# Les cas qui marchent ... TORUNOK = [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0 ] # OK 19/04/2021 # 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,28 -#RUNALL = False -RUNALL = True -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, 1 ] -# 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,28 - TORUN = TORUNOK -else: - TORUNPB = list() - for IAUX in TORUNOK: - TORUNPB.append((IAUX+1)%2) - print ("TORUN = {} # OK".format(TORUNOK)) - print ("TORUN = {} # PB".format(TORUNPB)) -# genereMateriel - TORUN = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0] # aucun - TORUN = [ 1, 1, 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, 0, 0] # cubeAngle - TORUN = [ 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] # cubeFin - TORUN = [ 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] # decoupeCylindre - TORUN = [ 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] # disque_perce + ellipse_disque - TORUN = [ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] # ellipse + fissureGauche2 - TORUN = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] # ellipse_probleme + fissureGauche2 - TORUN = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] # eprouvetteCourbe - TORUN = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] # eprouvetteDroite - TORUN = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] # fissureGauche - TORUN = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] # fissureGauche2 - 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, 0, 0, 1, 0] # vis - 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, 0, 0, 0, 1] # tube -# 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,28 - 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, 0] # OK -# ----------------------------------------------------------------------------------------------- +TORUNPB = list() +for IAUX in TORUNOK: + TORUNPB.append((IAUX+1)%2) +print ("TORUN = {} # OK".format(TORUNOK)) +print ("TORUN = {} # PB".format(TORUNPB)) -def caract_l_problemes (): - """Caractérisation des problèmes""" - d_aux = dict() - l_problemes = list() +# Numéro de référence associé à chaque problème +NREF_PB = dict() +NREF_PB["cubeAngle"] = 0 +NREF_PB["cubeAngle2"] = 1 +NREF_PB["cubeCoin"] = 2 +NREF_PB["cubeMilieu"] = 3 +NREF_PB["cubeTransverse"] = 4 +NREF_PB["cylindre"] = 5 +NREF_PB["cylindre2"] = 6 +NREF_PB["disquePerce"] = 7 +NREF_PB["ellipse1"] = 8 +NREF_PB["ellipse2"] = 9 +NREF_PB["eprouvetteCourbe"] = 10 +NREF_PB["eprouvetteDroite"] = 11 +NREF_PB["eprouvetteDroite_2"] = 12 +NREF_PB["faceGauche"] = 13 +NREF_PB["faceGauche_2"] = 14 +NREF_PB["fissureCoude_1"] = 15 +NREF_PB["fissureCoude_2"] = 16 +NREF_PB["fissureCoude_3"] = 17 +NREF_PB["fissureCoude_4"] = 18 +NREF_PB["fissureCoude_5"] = 19 +NREF_PB["fissureCoude_6"] = 20 +NREF_PB["fissureCoude_7"] = 21 +NREF_PB["fissureCoude_8"] = 22 +NREF_PB["fissureCoude_9"] = 23 +NREF_PB["fissureCoude_10"] = 24 +NREF_PB["fissure_Coude"] = 25 +NREF_PB["fissure_Coude_4"] = 26 +NREF_PB["vis_1"] = 27 +NREF_PB["tube"] = 28 - n_cas = 0 - # genereMateriel : cubeAngle - from blocFissure.CasTests.cubeAngle import cubeAngle - l_problemes.append(cubeAngle(n_cas)) +#========================= Début de la classe =================================== - n_cas = 1 - # genereMateriel : cubeAngle - from blocFissure.CasTests.cubeAngle2 import cubeAngle2 - l_problemes.append(cubeAngle2(n_cas)) +class blocFissureTest (object): - n_cas = 2 - # genereMateriel : cubeFin - from blocFissure.CasTests import cubeCoin - l_problemes.append(casStandard(cubeCoin.dicoParams, cubeCoin.referencesMaillageFissure, n_cas)) - d_aux[n_cas] = "cubeCoin" + """Test de blocFissure - n_cas = 3 - # genereMateriel : cubeFin - from blocFissure.CasTests import cubeMilieu - l_problemes.append(casStandard(cubeMilieu.dicoParams, cubeMilieu.referencesMaillageFissure, n_cas)) - d_aux[n_cas] = "cubeMilieu" +Options facultatives +******************** +Le(s) numéro/nom du/des tests à passer. Si aucun n'est donné, tous les cas sont passés. + """ - n_cas = 4 - # genereMateriel : cubeFin - from blocFissure.CasTests import cubeTransverse - l_problemes.append(casStandard(cubeTransverse.dicoParams, cubeTransverse.referencesMaillageFissure, n_cas)) - d_aux[n_cas] = "cubeTransverse" +# A. La base - n_cas = 5 - # genereMateriel : decoupeCylindre - from blocFissure.CasTests.cylindre import cylindre - l_problemes.append(cylindre(n_cas)) + message_info = "" + _verbose = 0 + _verbose_max = 0 + affiche_aide_globale = 0 - n_cas = 6 - # genereMateriel : decoupeCylindre - from blocFissure.CasTests.cylindre_2 import cylindre_2 - l_problemes.append(cylindre_2(n_cas)) +# B. Les variables - n_cas = 7 - # genereMateriel : disque_perce - # genereMateriel : ellipse_disque - from blocFissure.CasTests import disquePerce - l_problemes.append(casStandard(disquePerce.dicoParams, disquePerce.referencesMaillageFissure, n_cas)) - d_aux[n_cas] = "disquePerce" + l_cas = None + l_problemes = None + d_nom_probleme = None + l_materiels = None - n_cas = 8 - # genereMateriel: ellipse - # genereMateriel : fissureGauche2 - from blocFissure.CasTests.ellipse_1 import ellipse_1 - l_problemes.append(ellipse_1(n_cas)) +#=========================== Début de la méthode ================================= - n_cas = 9 - # genereMateriel: ellipse_probleme - # genereMateriel : fissureGauche2 - from blocFissure.CasTests.ellipse_2 import ellipse_2 - l_problemes.append(ellipse_2(n_cas)) + def __init__ ( self, liste_option ): - n_cas = 10 - # genereMateriel : eprouvetteCourbe - from blocFissure.CasTests.eprouvetteCourbe import eprouvetteCourbe - l_problemes.append(eprouvetteCourbe(n_cas)) + """Le constructeur de la classe blocFissureTest""" - n_cas = 11 - # genereMateriel : eprouvetteDroite - from blocFissure.CasTests.eprouvetteDroite import eprouvetteDroite - l_problemes.append(eprouvetteDroite(n_cas)) + self.l_cas = list() + erreur = False - n_cas = 12 - # genereMateriel : eprouvetteDroite - from blocFissure.CasTests.eprouvetteDroite_2 import eprouvetteDroite_2 - l_problemes.append(eprouvetteDroite_2(n_cas)) + for option in liste_option : - n_cas = 13 - # genereMateriel : fissureGauche - from blocFissure.CasTests.faceGauche import faceGauche - l_problemes.append(faceGauche(n_cas)) + #print (option, type(option)) + if isinstance(option, str): + saux = option.upper() + else: + saux = option + #print (saux) + # Options générales de pilotage + if saux in ( "-H", "-HELP" ): + self.affiche_aide_globale = 1 + elif saux == "-V" : + self._verbose = 1 + elif saux == "-VMAX" : + self._verbose = 1 + self._verbose_max = 1 - n_cas = 14 - # genereMateriel : fissureGauche2 - from blocFissure.CasTests.faceGauche_2 import faceGauche_2 - l_problemes.append(faceGauche_2(n_cas)) + else : + # Options du traitement + if isinstance(option, int): + self.l_cas.append(option) + elif ( option in NREF_PB ): + self.l_cas.append(NREF_PB[option]) + else: + print ("Option inconnue : {}".format(option)) + erreur = True - n_cas = 15 - # genereMateriel : aucun - from blocFissure.CasTests.fissureCoude_1 import fissureCoude_1 - l_problemes.append(fissureCoude_1(n_cas)) +# Si aucun cas n'est donné, on prend tous ceux par défaut + if not self.l_cas: + for i_aux, valeur in enumerate(TORUNOK): + if valeur: + self.l_cas.append(i_aux) - n_cas = 16 - # genereMateriel : aucun - from blocFissure.CasTests.fissureCoude_2 import fissureCoude_2 - l_problemes.append(fissureCoude_2(n_cas)) + if erreur: + self.l_cas = list() - n_cas = 17 - # genereMateriel : aucun - from blocFissure.CasTests.fissureCoude_3 import fissureCoude_3 - l_problemes.append(fissureCoude_3(n_cas)) + if self._verbose_max: + print ("Liste des cas : {}".format(self.l_cas)) - n_cas = 18 - # genereMateriel : aucun - from blocFissure.CasTests.fissureCoude_4 import fissureCoude_4 - l_problemes.append(fissureCoude_4(n_cas)) + if self._verbose_max: + initLog.setVerbose(LOGFILE) # info = 20 + #if self._verbose_max: + #initLog.setDebug(LOGFILE) # debug = 10 - n_cas = 19 - # genereMateriel : aucun - from blocFissure.CasTests.fissureCoude_5 import fissureCoude_5 - l_problemes.append(fissureCoude_5(n_cas)) +#=========================== Fin de la méthode ================================== - n_cas = 20 - # genereMateriel : aucun - from blocFissure.CasTests.fissureCoude_6 import fissureCoude_6 - l_problemes.append(fissureCoude_6(n_cas)) +#=========================== Début de la méthode ================================= - n_cas = 21 - # genereMateriel : aucun - from blocFissure.CasTests.fissureCoude_7 import fissureCoude_7 - l_problemes.append(fissureCoude_7(n_cas)) + def __del__(self): + """A la suppression de l'instance de classe""" + if self._verbose_max: + print ("Suppression de l'instance de la classe.") - n_cas = 22 - # genereMateriel : aucun - from blocFissure.CasTests.fissureCoude_8 import fissureCoude_8 - l_problemes.append(fissureCoude_8(n_cas)) +#=========================== Fin de la méthode ================================== - n_cas = 23 - # genereMateriel : aucun - from blocFissure.CasTests.fissureCoude_9 import fissureCoude_9 - l_problemes.append(fissureCoude_9(n_cas)) +#=========================== Début de la méthode ================================= - n_cas = 24 - # genereMateriel : aucun - from blocFissure.CasTests.fissureCoude_10 import fissureCoude_10 - l_problemes.append(fissureCoude_10(n_cas)) + def caract_l_problemes (self): + """Caractérisation des problèmes""" + self.d_nom_probleme = dict() + self.l_problemes = list() + self.l_materiels = list() - n_cas = 25 - # genereMateriel : aucun - from blocFissure.CasTests.fissure_Coude import fissure_Coude - l_problemes.append(fissure_Coude(n_cas)) + n_cas = 0 + if n_cas in self.l_cas: + # genereMateriel : cubeAngle + from blocFissure.CasTests.cubeAngle import cubeAngle + self.l_problemes.append(cubeAngle(n_cas)) + self.l_materiels.append("cubeAngle") - n_cas = 26 - # genereMateriel : aucun - from blocFissure.CasTests.fissure_Coude_4 import fissure_Coude_4 - l_problemes.append(fissure_Coude_4(n_cas)) + n_cas = 1 + if n_cas in self.l_cas: + # genereMateriel : cubeAngle + from blocFissure.CasTests.cubeAngle2 import cubeAngle2 + self.l_problemes.append(cubeAngle2(n_cas)) + self.l_materiels.append("cubeAngle") - n_cas = 27 - # genereMateriel : vis - from blocFissure.CasTests.vis_1 import vis_1 - l_problemes.append(vis_1(n_cas)) + n_cas = 2 + if n_cas in self.l_cas: + # genereMateriel : cubeFin + from blocFissure.CasTests import cubeCoin + self.l_problemes.append(casStandard(cubeCoin.dicoParams, cubeCoin.referencesMaillageFissure, n_cas)) + self.d_nom_probleme[n_cas] = "cubeCoin" + self.l_materiels.append("cubeFin") - n_cas = 28 - # genereMateriel : tube - from blocFissure.CasTests.tube import tube - l_problemes.append(tube(n_cas)) - #"Mesh_13" has not been computed: - #- "algo2d_facePeau_0" failed on "FACE_12 to mesh". Error: Algorithm failed. NgException at Surface meshing: Problem in Surface mesh generation - #- "algo1d_cercle1_0" failed on EDGE #20. Error: Algorithm failed. Source elements don't cover totally the geometrical edge - #- "algo1d_cercle1_0" failed on EDGE #17. Error: Algorithm failed. Source elements don't cover totally the geometrical edge - #- "algo1d_cercle1_0" failed on EDGE #15. Error: Algorithm failed. Source elements don't cover totally the geometrical edge - #- "algo1d_cercle1_0" failed on EDGE #12. Error: Algorithm failed. Source elements don't cover totally the geometrical edge + n_cas = 3 + if n_cas in self.l_cas: + # genereMateriel : cubeFin + from blocFissure.CasTests import cubeMilieu + self.l_problemes.append(casStandard(cubeMilieu.dicoParams, cubeMilieu.referencesMaillageFissure, n_cas)) + self.d_nom_probleme[n_cas] = "cubeMilieu" + self.l_materiels.append("cubeFin") - return l_problemes, d_aux -#============================================================= -def calcul_cas (n_cas, cas, d_aux, ligne): - """Calcul d'un cas""" - texte = "" - if n_cas in d_aux: - nom = d_aux[n_cas] - else: - nom = cas.nomProbleme - texte_a = "\n=== Exécution du cas n° {}, '{}'".format(n_cas,nom) - logging.critical(ligne+texte_a) + n_cas = 4 + if n_cas in self.l_cas: + # genereMateriel : cubeFin + from blocFissure.CasTests import cubeTransverse + self.l_problemes.append(casStandard(cubeTransverse.dicoParams, cubeTransverse.referencesMaillageFissure, n_cas)) + self.d_nom_probleme[n_cas] = "cubeTransverse" + self.l_materiels.append("cubeFin") - try: - ok_maillage = cas.executeProbleme() - except: - traceback.print_exc() - ok_maillage = False - if not ok_maillage: - texte = "Problème avec le cas n° {}, '{}'\n".format(n_cas,nom) - print(ligne) + n_cas = 5 + if n_cas in self.l_cas: + # genereMateriel : decoupeCylindre + from blocFissure.CasTests.cylindre import cylindre + self.l_problemes.append(cylindre(n_cas)) + self.l_materiels.append("decoupeCylindre") - return ok_maillage, texte -#============================================================= -def calcul_tout (l_problemes, d_aux): - """Calcul de tous les cas""" + n_cas = 6 + if n_cas in self.l_cas: + # genereMateriel : decoupeCylindre + from blocFissure.CasTests.cylindre_2 import cylindre_2 + self.l_problemes.append(cylindre_2(n_cas)) + self.l_materiels.append("decoupeCylindre") - ligne = "---------------------------------------------------------------------" - texte = "\n" - nb_cas_ok = 0 - nb_cas_nook = 0 - for n_cas, cas in enumerate(l_problemes): - #print ("Cas n° {}, '{}'".format(n_cas,cas.nomProbleme)) - if TORUN[n_cas]: - ok_maillage, texte_a = calcul_cas (n_cas, cas, d_aux, ligne) + n_cas = 7 + if n_cas in self.l_cas: + # genereMateriel : disque_perce + # genereMateriel : ellipse_disque + from blocFissure.CasTests import disquePerce + self.l_problemes.append(casStandard(disquePerce.dicoParams, disquePerce.referencesMaillageFissure, n_cas)) + self.d_nom_probleme[n_cas] = "disquePerce" + self.l_materiels.append("disque_perce") + self.l_materiels.append("ellipse_disque") + + n_cas = 8 + if n_cas in self.l_cas: + # genereMateriel: ellipse + # genereMateriel : fissureGauche2 + from blocFissure.CasTests.ellipse_1 import ellipse_1 + self.l_problemes.append(ellipse_1(n_cas)) + self.l_materiels.append("ellipse") + self.l_materiels.append("fissureGauche2") + + n_cas = 9 + if n_cas in self.l_cas: + # genereMateriel: ellipse_probleme + # genereMateriel : fissureGauche2 + from blocFissure.CasTests.ellipse_2 import ellipse_2 + self.l_problemes.append(ellipse_2(n_cas)) + self.l_materiels.append("ellipse_probleme") + self.l_materiels.append("fissureGauche2") + + n_cas = 10 + if n_cas in self.l_cas: + # genereMateriel : eprouvetteCourbe + from blocFissure.CasTests.eprouvetteCourbe import eprouvetteCourbe + self.l_problemes.append(eprouvetteCourbe(n_cas)) + self.l_materiels.append("eprouvetteCourbe") + + n_cas = 11 + if n_cas in self.l_cas: + # genereMateriel : eprouvetteDroite + from blocFissure.CasTests.eprouvetteDroite import eprouvetteDroite + self.l_problemes.append(eprouvetteDroite(n_cas)) + self.l_materiels.append("eprouvetteDroite") + + n_cas = 12 + if n_cas in self.l_cas: + # genereMateriel : eprouvetteDroite + from blocFissure.CasTests.eprouvetteDroite_2 import eprouvetteDroite_2 + self.l_problemes.append(eprouvetteDroite_2(n_cas)) + self.l_materiels.append("eprouvetteDroite") + + n_cas = 13 + if n_cas in self.l_cas: + # genereMateriel : fissureGauche + from blocFissure.CasTests.faceGauche import faceGauche + self.l_problemes.append(faceGauche(n_cas)) + self.l_materiels.append("fissureGauche") + + n_cas = 14 + if n_cas in self.l_cas: + # genereMateriel : fissureGauche2 + from blocFissure.CasTests.faceGauche_2 import faceGauche_2 + self.l_problemes.append(faceGauche_2(n_cas)) + self.l_materiels.append("fissureGauche2") + + n_cas = 15 + if n_cas in self.l_cas: + # genereMateriel : aucun + from blocFissure.CasTests.fissureCoude_1 import fissureCoude_1 + self.l_problemes.append(fissureCoude_1(n_cas)) + + n_cas = 16 + if n_cas in self.l_cas: + # genereMateriel : aucun + from blocFissure.CasTests.fissureCoude_2 import fissureCoude_2 + self.l_problemes.append(fissureCoude_2(n_cas)) + + n_cas = 17 + if n_cas in self.l_cas: + # genereMateriel : aucun + from blocFissure.CasTests.fissureCoude_3 import fissureCoude_3 + self.l_problemes.append(fissureCoude_3(n_cas)) + + n_cas = 18 + if n_cas in self.l_cas: + # genereMateriel : aucun + from blocFissure.CasTests.fissureCoude_4 import fissureCoude_4 + self.l_problemes.append(fissureCoude_4(n_cas)) + + n_cas = 19 + if n_cas in self.l_cas: + # genereMateriel : aucun + from blocFissure.CasTests.fissureCoude_5 import fissureCoude_5 + self.l_problemes.append(fissureCoude_5(n_cas)) + + n_cas = 20 + if n_cas in self.l_cas: + # genereMateriel : aucun + from blocFissure.CasTests.fissureCoude_6 import fissureCoude_6 + self.l_problemes.append(fissureCoude_6(n_cas)) + + n_cas = 21 + if n_cas in self.l_cas: + # genereMateriel : aucun + from blocFissure.CasTests.fissureCoude_7 import fissureCoude_7 + self.l_problemes.append(fissureCoude_7(n_cas)) + + n_cas = 22 + if n_cas in self.l_cas: + # genereMateriel : aucun + from blocFissure.CasTests.fissureCoude_8 import fissureCoude_8 + self.l_problemes.append(fissureCoude_8(n_cas)) + + n_cas = 23 + if n_cas in self.l_cas: + # genereMateriel : aucun + from blocFissure.CasTests.fissureCoude_9 import fissureCoude_9 + self.l_problemes.append(fissureCoude_9(n_cas)) + + n_cas = 24 + if n_cas in self.l_cas: + # genereMateriel : aucun + from blocFissure.CasTests.fissureCoude_10 import fissureCoude_10 + self.l_problemes.append(fissureCoude_10(n_cas)) + + n_cas = 25 + if n_cas in self.l_cas: + # genereMateriel : aucun + from blocFissure.CasTests.fissure_Coude import fissure_Coude + self.l_problemes.append(fissure_Coude(n_cas)) + + n_cas = 26 + if n_cas in self.l_cas: + # genereMateriel : aucun + from blocFissure.CasTests.fissure_Coude_4 import fissure_Coude_4 + self.l_problemes.append(fissure_Coude_4(n_cas)) + + n_cas = 27 + if n_cas in self.l_cas: + # genereMateriel : vis + from blocFissure.CasTests.vis_1 import vis_1 + self.l_problemes.append(vis_1(n_cas)) + self.l_materiels.append("vis") + + n_cas = 28 + if n_cas in self.l_cas: + # genereMateriel : tube + from blocFissure.CasTests.tube import tube + self.l_problemes.append(tube(n_cas)) + self.l_materiels.append("tube") + #"Mesh_13" has not been computed: + #- "algo2d_facePeau_0" failed on "FACE_12 to mesh". Error: Algorithm failed. NgException at Surface meshing: Problem in Surface mesh generation + #- "algo1d_cercle1_0" failed on EDGE #20. Error: Algorithm failed. Source elements don't cover totally the geometrical edge + #- "algo1d_cercle1_0" failed on EDGE #17. Error: Algorithm failed. Source elements don't cover totally the geometrical edge + #- "algo1d_cercle1_0" failed on EDGE #15. Error: Algorithm failed. Source elements don't cover totally the geometrical edge + #- "algo1d_cercle1_0" failed on EDGE #12. Error: Algorithm failed. Source elements don't cover totally the geometrical edge + + return + +#=========================== Fin de la méthode ================================== + +#=========================== Début de la méthode ================================= + + def cree_materiels (self): + """Création des matériels""" + + if "cubeAngle" in self.l_materiels: + from blocFissure.materielCasTests import cubeAngle + + if "cubeFin" in self.l_materiels: + from blocFissure.materielCasTests import cubeFin + + if "decoupeCylindre" in self.l_materiels: + from blocFissure.materielCasTests import decoupeCylindre + + if "disque_perce" in self.l_materiels: + from blocFissure.materielCasTests import disque_perce + + if "ellipse_disque" in self.l_materiels: + from blocFissure.materielCasTests import ellipse_disque + + if "ellipse" in self.l_materiels: + from blocFissure.materielCasTests import ellipse + + if "fissureGauche" in self.l_materiels: + from blocFissure.materielCasTests import fissureGauche + + if "fissureGauche2" in self.l_materiels: + from blocFissure.materielCasTests import fissureGauche2 + + if "eprouvetteCourbe" in self.l_materiels: + from blocFissure.materielCasTests import eprouvetteCourbe + + if "eprouvetteDroite" in self.l_materiels: + from blocFissure.materielCasTests import eprouvetteDroite + + if "vis" in self.l_materiels: + from blocFissure.materielCasTests import vis + + if "tube" in self.l_materiels: + from blocFissure.materielCasTests import tube + + return + +#=========================== Fin de la méthode ================================== + +#=========================== Début de la méthode ================================= + + def calcul_cas (self, n_cas, cas, ligne): + """Calcul d'un cas""" + texte = "" + if n_cas in self.d_nom_probleme: + nom = self.d_nom_probleme[n_cas] + else: + nom = cas.nomProbleme + texte_a = "\n=== Exécution du cas n° {}, '{}'".format(NREF_PB[nom],nom) + logging.critical(ligne+texte_a) + + try: + ok_maillage = cas.executeProbleme() + except: + traceback.print_exc() + ok_maillage = False + if not ok_maillage: + texte = "Problème avec le cas n° {}, '{}'\n".format(NREF_PB[nom],nom) + print(ligne) + + return ok_maillage, texte + +#=========================== Fin de la méthode ================================== + +#=========================== Début de la méthode ================================= + + def calcul_tout (self): + """Calcul de tous les cas""" + + ligne = "---------------------------------------------------------------------" + texte = "\n" + nb_cas_ok = 0 + nb_cas_nook = 0 + for n_cas, cas in enumerate(self.l_problemes): + #print ("Cas n° {}, '{}'".format(n_cas,cas.nomProbleme)) + ok_maillage, texte_a = self.calcul_cas (n_cas, cas, ligne) texte += texte_a if ok_maillage: nb_cas_ok += 1 @@ -272,31 +476,81 @@ def calcul_tout (l_problemes, d_aux): nb_cas_nook += 1 print(ligne) - nb_cas = nb_cas_nook + nb_cas_ok - if ( nb_cas > 1): - if nb_cas_nook: - texte += ". Nombre de cas_tests OK : {}\n".format(nb_cas_ok) - texte += ". Nombre de cas_tests NOOK : {}\n".format(nb_cas_nook) - else: - texte += "Les {} tests se sont bien passés.\n".format(nb_cas) - print (texte+ligne) - logging.critical(ligne+texte) + nb_cas = nb_cas_nook + nb_cas_ok + if ( nb_cas > 1): + if nb_cas_nook: + texte += ". Nombre de cas_tests OK : {}\n".format(nb_cas_ok) + texte += ". Nombre de cas_tests NOOK : {}\n".format(nb_cas_nook) + else: + texte += "Les {} tests se sont bien passés.\n".format(nb_cas) + print (texte+ligne) + logging.critical(ligne+texte) - return -#============================================================= -#============================================================= + return texte -while True: +#=========================== Fin de la méthode ================================== - L_PROBLEMES, D_AUX = caract_l_problemes() +#=========================== Début de la méthode ================================= - if ( len(L_PROBLEMES) != len(TORUN) ): - TEXTE = "\nNombre de problèmes définis : {}\n".format(len(L_PROBLEMES)) - TEXTE += "Longueur de la liste 'TORUN' : {}\n".format(len(TORUN)) - TEXTE += "\t==> Incohérence de programmation à corriger dans {}".format(__name__) - print (TEXTE) - break + def lancement (self): + """Lancement général""" - calcul_tout (L_PROBLEMES, D_AUX) + # Tri des problèmes + self.caract_l_problemes () - break + # Création des matériels + self.cree_materiels () + + # Calcul des fissures + texte = self.calcul_tout () + + return texte + +#=========================== Fin de la méthode ================================== + +#========================== Fin de la classe ==================================== + +#================================================================================== +# Lancement +#================================================================================== + +if __name__ == "__main__" : + +# 1. Options + + L_OPTIONS = sys.argv[1:] + L_OPTIONS.append("-v") + +# 2. Lancement de la classe + + #print ("L_OPTIONS :", L_OPTIONS) + BLOCFISSURE_TEST = blocFissureTest(L_OPTIONS) + + if BLOCFISSURE_TEST.affiche_aide_globale: + sys.stdout.write(BLOCFISSURE_TEST.__doc__+"\n") + else: + TEXTE = BLOCFISSURE_TEST.lancement() + sys.stdout.write(TEXTE) + + del BLOCFISSURE_TEST + + #sys.exit(0) + + +#while True: + + #import sys + #print ("arguments = '{}'".format(sys.argv[1:])) + + #L_PROBLEMES, D_AUX = caract_l_problemes() + + #if ( len(L_PROBLEMES) != len(TORUN) ): + #TEXTE = "\nNombre de problèmes définis : {}\n".format(len(L_PROBLEMES)) + #TEXTE += "Longueur de la liste 'TORUN' : {}\n".format(len(TORUN)) + #TEXTE += "\t==> Incohérence de programmation à corriger dans {}".format(__name__) + #print (TEXTE) + #break + + #calcul_tout (L_PROBLEMES, D_AUX) + + #break From 95de5fabdc238bcf1dbc3399e79d3b5c5ff41a5e Mon Sep 17 00:00:00 2001 From: GERALD NICOLAS Date: Mon, 26 Apr 2021 10:35:00 +0200 Subject: [PATCH 03/10] =?UTF-8?q?D=C3=A9placement?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../blocFissure/{CasTests/execution_Cas.py => blocFissureTest.py} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/Tools/blocFissure/{CasTests/execution_Cas.py => blocFissureTest.py} (100%) diff --git a/src/Tools/blocFissure/CasTests/execution_Cas.py b/src/Tools/blocFissure/blocFissureTest.py similarity index 100% rename from src/Tools/blocFissure/CasTests/execution_Cas.py rename to src/Tools/blocFissure/blocFissureTest.py From 069b583dab475d377bc34e336ca7e618b8ef279c Mon Sep 17 00:00:00 2001 From: GERALD NICOLAS Date: Mon, 26 Apr 2021 10:51:38 +0200 Subject: [PATCH 04/10] mise en place des tests --- src/Tools/blocFissure/CasTests/CMakeLists.txt | 2 +- src/Tools/blocFissure/{ => CasTests}/blocFissureTest.py | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename src/Tools/blocFissure/{ => CasTests}/blocFissureTest.py (100%) diff --git a/src/Tools/blocFissure/CasTests/CMakeLists.txt b/src/Tools/blocFissure/CasTests/CMakeLists.txt index 768955a58..d6bce955a 100644 --- a/src/Tools/blocFissure/CasTests/CMakeLists.txt +++ b/src/Tools/blocFissure/CasTests/CMakeLists.txt @@ -22,6 +22,7 @@ # scripts / static SET(plugin_SCRIPTS __init__.py + blocFissureTest.py cubeAngle2.py cubeAngle.py cubeCoin.py @@ -35,7 +36,6 @@ SET(plugin_SCRIPTS eprouvetteCourbe.py eprouvetteDroite_2.py eprouvetteDroite.py - execution_Cas.py faceGauche_2.py faceGauche.py fissureCoude_10.py diff --git a/src/Tools/blocFissure/blocFissureTest.py b/src/Tools/blocFissure/CasTests/blocFissureTest.py similarity index 100% rename from src/Tools/blocFissure/blocFissureTest.py rename to src/Tools/blocFissure/CasTests/blocFissureTest.py From 17c79a5fcf3b726b9beb583d93b238dc3da54d31 Mon Sep 17 00:00:00 2001 From: GERALD NICOLAS Date: Mon, 26 Apr 2021 11:12:52 +0200 Subject: [PATCH 05/10] lacncements des 1ers cas-tests --- .../blocFissure_01_without_session.py | 25 +++++++------------ doc/salome/examples/tests.set | 2 +- .../blocFissure/CasTests/blocFissureTest.py | 23 +---------------- 3 files changed, 11 insertions(+), 39 deletions(-) diff --git a/doc/salome/examples/blocFissure_01_without_session.py b/doc/salome/examples/blocFissure_01_without_session.py index 0be55d4c6..224f917e5 100644 --- a/doc/salome/examples/blocFissure_01_without_session.py +++ b/doc/salome/examples/blocFissure_01_without_session.py @@ -7,39 +7,32 @@ Gérald NICOLAS +33.1.78.19.43.52 """ -__revision__ = "V02.01" +__revision__ = "V02.02" import os -import tempfile import sys -# Fichier de diagnostic -LOGFILE = os.path.join(tempfile.gettempdir(),"blocFissure.log") -if os.path.isfile(LOGFILE): - os.remove(LOGFILE) - # Lancement des cas-tests import salome salome.standalone() salome.salome_init() -from blocFissure.materielCasTests import genereMateriel - -from blocFissure.CasTests import execution_Cas +from blocFissure.CasTests import blocFissureTest +BLOCFISSURE_TEST = blocFissureTest(["cubeAngle", "cubeAngle2", "cubeCoin", "cubeMilieu", "cubeTransverse"]) +TEXTE = BLOCFISSURE_TEST.lancement() +del BLOCFISSURE_TEST # Diagnostic ERREUR = 0 -if os.path.isfile(LOGFILE): - with open(LOGFILE, 'r') as FICHIER: - LES_LIGNES = FICHIER.readlines() - for LIGNE in LES_LIGNES: +if TEXTE: + for LIGNE in TEXTE: #print (LIGNE[:-1]) if ( "NOOK" in LIGNE ): - MESSAGE_ERREUR = LIGNE + MESSAGE_ERREUR = TEXTE ERREUR = int(LIGNE.split()[-1]) break else: - MESSAGE_ERREUR = "Impossible de trouver le fichier de diagnostic {}".format(LOGFILE) + MESSAGE_ERREUR = "Impossible de trouver le diagnostic de la procédure de tests." ERREUR = -1 if ERREUR: diff --git a/doc/salome/examples/tests.set b/doc/salome/examples/tests.set index 99000efd5..531a85c51 100644 --- a/doc/salome/examples/tests.set +++ b/doc/salome/examples/tests.set @@ -46,7 +46,7 @@ SET(BAD_TESTS test_smeshplugin_mg_tetra_parallele.py test_smeshplugins.py MGAdaptTests_without_session.py - blocFissure_without_session.py + blocFissure_01_without_session.py ) SET(GOOD_TESTS diff --git a/src/Tools/blocFissure/CasTests/blocFissureTest.py b/src/Tools/blocFissure/CasTests/blocFissureTest.py index ef550f868..a0ccc2121 100644 --- a/src/Tools/blocFissure/CasTests/blocFissureTest.py +++ b/src/Tools/blocFissure/CasTests/blocFissureTest.py @@ -17,7 +17,7 @@ # # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # -__revision__ = "V02.01" +__revision__ = "V03.01" """Lancement des cas-tests de blocFissure""" @@ -533,24 +533,3 @@ if __name__ == "__main__" : sys.stdout.write(TEXTE) del BLOCFISSURE_TEST - - #sys.exit(0) - - -#while True: - - #import sys - #print ("arguments = '{}'".format(sys.argv[1:])) - - #L_PROBLEMES, D_AUX = caract_l_problemes() - - #if ( len(L_PROBLEMES) != len(TORUN) ): - #TEXTE = "\nNombre de problèmes définis : {}\n".format(len(L_PROBLEMES)) - #TEXTE += "Longueur de la liste 'TORUN' : {}\n".format(len(TORUN)) - #TEXTE += "\t==> Incohérence de programmation à corriger dans {}".format(__name__) - #print (TEXTE) - #break - - #calcul_tout (L_PROBLEMES, D_AUX) - - #break From ed4300495a5fc6fd2047e16cdf32f6a4db21c66a Mon Sep 17 00:00:00 2001 From: GERALD NICOLAS Date: Mon, 26 Apr 2021 16:02:24 +0200 Subject: [PATCH 06/10] =?UTF-8?q?Passage=20en=20attribut=20du=20maillage?= =?UTF-8?q?=20r=C3=A9sultat?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Tools/blocFissure/gmu/fissureGenerique.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/Tools/blocFissure/gmu/fissureGenerique.py b/src/Tools/blocFissure/gmu/fissureGenerique.py index f053e93bf..0092b6462 100644 --- a/src/Tools/blocFissure/gmu/fissureGenerique.py +++ b/src/Tools/blocFissure/gmu/fissureGenerique.py @@ -34,6 +34,7 @@ class fissureGenerique(object): """ nomProbleme = "fissureGenerique" + maillageFissure = None geomParams = dict() meshParams = dict() shapeFissureParams = dict() @@ -132,10 +133,10 @@ class fissureGenerique(object): if step == 4: return - maillageFissure = self.genereMaillageFissure(geometriesSaines, maillagesSains, \ - shapesFissure, self.shapeFissureParams, self.maillageFissureParams, \ - elementsDefaut, step, mailleur) + self.maillageFissure = self.genereMaillageFissure(geometriesSaines, maillagesSains, \ + shapesFissure, self.shapeFissureParams, self.maillageFissureParams, \ + elementsDefaut, step, mailleur) self.setReferencesMaillageFissure() - ok_maillage = getStatsMaillageFissure(maillageFissure, self.referencesMaillageFissure, self.maillageFissureParams) + ok_maillage = getStatsMaillageFissure(self.maillageFissure, self.referencesMaillageFissure, self.maillageFissureParams) return ok_maillage From 55864e5a23613e8a04e92211ef6bf79b560e06b5 Mon Sep 17 00:00:00 2001 From: GERALD NICOLAS Date: Mon, 26 Apr 2021 18:31:20 +0200 Subject: [PATCH 07/10] =?UTF-8?q?Pr=C3=A9paration=20=C3=A0=20l'ajout=20de?= =?UTF-8?q?=20cas-tests?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../blocFissure_01_without_session.py | 39 ++++++++---- doc/salome/examples/tests.set | 6 ++ .../blocFissure/CasTests/blocFissureTest.py | 61 ++++++++----------- 3 files changed, 57 insertions(+), 49 deletions(-) mode change 100644 => 100755 doc/salome/examples/blocFissure_01_without_session.py diff --git a/doc/salome/examples/blocFissure_01_without_session.py b/doc/salome/examples/blocFissure_01_without_session.py old mode 100644 new mode 100755 index 224f917e5..798b5fd69 --- a/doc/salome/examples/blocFissure_01_without_session.py +++ b/doc/salome/examples/blocFissure_01_without_session.py @@ -2,12 +2,16 @@ # -*- coding: utf-8 -*- """Tests de blocFissure ; en standalone +Cas tests basés sur les matériels : +. cubeAngle +. cubeFin + Copyright 2021 EDF Gérald NICOLAS +33.1.78.19.43.52 """ -__revision__ = "V02.02" +__revision__ = "V02.03" import os import sys @@ -17,20 +21,30 @@ import salome salome.standalone() salome.salome_init() -from blocFissure.CasTests import blocFissureTest -BLOCFISSURE_TEST = blocFissureTest(["cubeAngle", "cubeAngle2", "cubeCoin", "cubeMilieu", "cubeTransverse"]) -TEXTE = BLOCFISSURE_TEST.lancement() +from blocFissure.CasTests.blocFissureTest import blocFissureTest +BLOCFISSURE_TEST = blocFissureTest(["cubeAngle", "cubeAngle2","cubeCoin", "cubeMilieu", "cubeTransverse"]) +#BLOCFISSURE_TEST = blocFissureTest(["cylindre", "cylindre_2"]) +#BLOCFISSURE_TEST = blocFissureTest(["disque_perce"]) +#BLOCFISSURE_TEST = blocFissureTest(["faceGauche"]) +#BLOCFISSURE_TEST = blocFissureTest(["ellipse_1", "ellipse_2", "faceGauche_2"]) +#BLOCFISSURE_TEST = blocFissureTest(["eprouvetteCourbe"]) +#BLOCFISSURE_TEST = blocFissureTest(["eprouvetteDroite", "eprouvetteDroite_2"]) +#BLOCFISSURE_TEST = blocFissureTest(["vis"]) +#BLOCFISSURE_TEST = blocFissureTest(["fissureCoude_1", "fissureCoude_2", "fissureCoude_3", "fissureCoude_4", "fissureCoude_5", "fissureCoude_6", "fissureCoude_7", "fissureCoude_8", "fissureCoude_9", "fissureCoude_10", "fissure_Coude", "fissure_Coude_4"]) +#BLOCFISSURE_TEST = blocFissureTest(["fissureCoude_1", "fissureCoude_2", "fissureCoude_3", "fissureCoude_4", "fissureCoude_5"]) +#BLOCFISSURE_TEST = blocFissureTest(["fissureCoude_6", "fissureCoude_7", "fissureCoude_8", "fissureCoude_9", "fissureCoude_10"]) +#BLOCFISSURE_TEST = blocFissureTest(["fissure_Coude", "fissure_Coude_4"]) +MESSAGE_ERREUR = BLOCFISSURE_TEST.lancement() +#sys.stdout.write(MESSAGE_ERREUR) del BLOCFISSURE_TEST # Diagnostic -ERREUR = 0 -if TEXTE: - for LIGNE in TEXTE: - #print (LIGNE[:-1]) - if ( "NOOK" in LIGNE ): - MESSAGE_ERREUR = TEXTE - ERREUR = int(LIGNE.split()[-1]) - break +if MESSAGE_ERREUR: + if ( "NOOK" in MESSAGE_ERREUR ): + LAUX = MESSAGE_ERREUR.split() + ERREUR = int(LAUX[LAUX.index("NOOK")+2]) + else: + ERREUR = 0 else: MESSAGE_ERREUR = "Impossible de trouver le diagnostic de la procédure de tests." ERREUR = -1 @@ -39,3 +53,4 @@ if ERREUR: sys.stderr.write(MESSAGE_ERREUR) #raise Exception(MESSAGE_ERREUR) assert(False) + diff --git a/doc/salome/examples/tests.set b/doc/salome/examples/tests.set index 531a85c51..e0293d388 100644 --- a/doc/salome/examples/tests.set +++ b/doc/salome/examples/tests.set @@ -47,6 +47,12 @@ SET(BAD_TESTS test_smeshplugins.py MGAdaptTests_without_session.py blocFissure_01_without_session.py + blocFissure_02_without_session.py + blocFissure_03_without_session.py + blocFissure_04_without_session.py + blocFissure_05_without_session.py + blocFissure_06_without_session.py + blocFissure_07_without_session.py ) SET(GOOD_TESTS diff --git a/src/Tools/blocFissure/CasTests/blocFissureTest.py b/src/Tools/blocFissure/CasTests/blocFissureTest.py index a0ccc2121..8a5335753 100644 --- a/src/Tools/blocFissure/CasTests/blocFissureTest.py +++ b/src/Tools/blocFissure/CasTests/blocFissureTest.py @@ -19,7 +19,23 @@ # __revision__ = "V03.01" -"""Lancement des cas-tests de blocFissure""" +"""Lancement des cas-tests de blocFissure + +Temps par type de matériel : +. cubeAngle : 24s ["cubeAngle", "cubeAngle2"]) +. cubeFin : 42s ["cubeCoin", "cubeMilieu", "cubeTransverse"] +. decoupeCylindre : 8s ["cylindre", "cylindre_2"] +. disque_perce (+ ellipse_disque) : 9s ["disque_perce"] +. fissureGauche : 26s ["faceGauche"] +. fissureGauche2 (+ ellipse + ellipse_probleme): 22s ["ellipse_1", "ellipse_2", "faceGauche_2"] +. eprouvetteCourbe : 22s ["eprouvetteCourbe"] +. eprouvetteDroite : 31s ["eprouvetteDroite", "eprouvetteDroite_2"] +. vis : 9s ["vis"] +. tube : ["tube"] +. sans matériel : 66s ["fissureCoude_1", "fissureCoude_2", "fissureCoude_3", "fissureCoude_4", "fissureCoude_5"] +. sans matériel : 69s ["fissureCoude_6", "fissureCoude_7", "fissureCoude_8", "fissureCoude_9", "fissureCoude_10"] +. sans matériel : 28s ["fissure_Coude", "fissure_Coude_4"] +""" import logging import os @@ -47,7 +63,7 @@ for IAUX in TORUNOK: print ("TORUN = {} # OK".format(TORUNOK)) print ("TORUN = {} # PB".format(TORUNPB)) -# Numéro de référence associé à chaque problème +# Numéro de référence associé à chaque problème défini par le nom de son fichier dans le répertoire CasTests NREF_PB = dict() NREF_PB["cubeAngle"] = 0 NREF_PB["cubeAngle2"] = 1 @@ -55,10 +71,10 @@ NREF_PB["cubeCoin"] = 2 NREF_PB["cubeMilieu"] = 3 NREF_PB["cubeTransverse"] = 4 NREF_PB["cylindre"] = 5 -NREF_PB["cylindre2"] = 6 +NREF_PB["cylindre_2"] = 6 NREF_PB["disquePerce"] = 7 -NREF_PB["ellipse1"] = 8 -NREF_PB["ellipse2"] = 9 +NREF_PB["ellipse_1"] = 8 +NREF_PB["ellipse_2"] = 9 NREF_PB["eprouvetteCourbe"] = 10 NREF_PB["eprouvetteDroite"] = 11 NREF_PB["eprouvetteDroite_2"] = 12 @@ -154,8 +170,6 @@ Le(s) numéro/nom du/des tests à passer. Si aucun n'est donné, tous les cas so if self._verbose_max: initLog.setVerbose(LOGFILE) # info = 20 - #if self._verbose_max: - #initLog.setDebug(LOGFILE) # debug = 10 #=========================== Fin de la méthode ================================== @@ -178,21 +192,18 @@ Le(s) numéro/nom du/des tests à passer. Si aucun n'est donné, tous les cas so n_cas = 0 if n_cas in self.l_cas: - # genereMateriel : cubeAngle from blocFissure.CasTests.cubeAngle import cubeAngle self.l_problemes.append(cubeAngle(n_cas)) self.l_materiels.append("cubeAngle") n_cas = 1 if n_cas in self.l_cas: - # genereMateriel : cubeAngle from blocFissure.CasTests.cubeAngle2 import cubeAngle2 self.l_problemes.append(cubeAngle2(n_cas)) self.l_materiels.append("cubeAngle") n_cas = 2 if n_cas in self.l_cas: - # genereMateriel : cubeFin from blocFissure.CasTests import cubeCoin self.l_problemes.append(casStandard(cubeCoin.dicoParams, cubeCoin.referencesMaillageFissure, n_cas)) self.d_nom_probleme[n_cas] = "cubeCoin" @@ -200,7 +211,6 @@ Le(s) numéro/nom du/des tests à passer. Si aucun n'est donné, tous les cas so n_cas = 3 if n_cas in self.l_cas: - # genereMateriel : cubeFin from blocFissure.CasTests import cubeMilieu self.l_problemes.append(casStandard(cubeMilieu.dicoParams, cubeMilieu.referencesMaillageFissure, n_cas)) self.d_nom_probleme[n_cas] = "cubeMilieu" @@ -208,7 +218,6 @@ Le(s) numéro/nom du/des tests à passer. Si aucun n'est donné, tous les cas so n_cas = 4 if n_cas in self.l_cas: - # genereMateriel : cubeFin from blocFissure.CasTests import cubeTransverse self.l_problemes.append(casStandard(cubeTransverse.dicoParams, cubeTransverse.referencesMaillageFissure, n_cas)) self.d_nom_probleme[n_cas] = "cubeTransverse" @@ -216,22 +225,18 @@ Le(s) numéro/nom du/des tests à passer. Si aucun n'est donné, tous les cas so n_cas = 5 if n_cas in self.l_cas: - # genereMateriel : decoupeCylindre from blocFissure.CasTests.cylindre import cylindre self.l_problemes.append(cylindre(n_cas)) self.l_materiels.append("decoupeCylindre") n_cas = 6 if n_cas in self.l_cas: - # genereMateriel : decoupeCylindre from blocFissure.CasTests.cylindre_2 import cylindre_2 self.l_problemes.append(cylindre_2(n_cas)) self.l_materiels.append("decoupeCylindre") n_cas = 7 if n_cas in self.l_cas: - # genereMateriel : disque_perce - # genereMateriel : ellipse_disque from blocFissure.CasTests import disquePerce self.l_problemes.append(casStandard(disquePerce.dicoParams, disquePerce.referencesMaillageFissure, n_cas)) self.d_nom_probleme[n_cas] = "disquePerce" @@ -240,8 +245,6 @@ Le(s) numéro/nom du/des tests à passer. Si aucun n'est donné, tous les cas so n_cas = 8 if n_cas in self.l_cas: - # genereMateriel: ellipse - # genereMateriel : fissureGauche2 from blocFissure.CasTests.ellipse_1 import ellipse_1 self.l_problemes.append(ellipse_1(n_cas)) self.l_materiels.append("ellipse") @@ -249,8 +252,6 @@ Le(s) numéro/nom du/des tests à passer. Si aucun n'est donné, tous les cas so n_cas = 9 if n_cas in self.l_cas: - # genereMateriel: ellipse_probleme - # genereMateriel : fissureGauche2 from blocFissure.CasTests.ellipse_2 import ellipse_2 self.l_problemes.append(ellipse_2(n_cas)) self.l_materiels.append("ellipse_probleme") @@ -258,108 +259,91 @@ Le(s) numéro/nom du/des tests à passer. Si aucun n'est donné, tous les cas so n_cas = 10 if n_cas in self.l_cas: - # genereMateriel : eprouvetteCourbe from blocFissure.CasTests.eprouvetteCourbe import eprouvetteCourbe self.l_problemes.append(eprouvetteCourbe(n_cas)) self.l_materiels.append("eprouvetteCourbe") n_cas = 11 if n_cas in self.l_cas: - # genereMateriel : eprouvetteDroite from blocFissure.CasTests.eprouvetteDroite import eprouvetteDroite self.l_problemes.append(eprouvetteDroite(n_cas)) self.l_materiels.append("eprouvetteDroite") n_cas = 12 if n_cas in self.l_cas: - # genereMateriel : eprouvetteDroite from blocFissure.CasTests.eprouvetteDroite_2 import eprouvetteDroite_2 self.l_problemes.append(eprouvetteDroite_2(n_cas)) self.l_materiels.append("eprouvetteDroite") n_cas = 13 if n_cas in self.l_cas: - # genereMateriel : fissureGauche from blocFissure.CasTests.faceGauche import faceGauche self.l_problemes.append(faceGauche(n_cas)) self.l_materiels.append("fissureGauche") n_cas = 14 if n_cas in self.l_cas: - # genereMateriel : fissureGauche2 from blocFissure.CasTests.faceGauche_2 import faceGauche_2 self.l_problemes.append(faceGauche_2(n_cas)) self.l_materiels.append("fissureGauche2") n_cas = 15 if n_cas in self.l_cas: - # genereMateriel : aucun from blocFissure.CasTests.fissureCoude_1 import fissureCoude_1 self.l_problemes.append(fissureCoude_1(n_cas)) n_cas = 16 if n_cas in self.l_cas: - # genereMateriel : aucun from blocFissure.CasTests.fissureCoude_2 import fissureCoude_2 self.l_problemes.append(fissureCoude_2(n_cas)) n_cas = 17 if n_cas in self.l_cas: - # genereMateriel : aucun from blocFissure.CasTests.fissureCoude_3 import fissureCoude_3 self.l_problemes.append(fissureCoude_3(n_cas)) n_cas = 18 if n_cas in self.l_cas: - # genereMateriel : aucun from blocFissure.CasTests.fissureCoude_4 import fissureCoude_4 self.l_problemes.append(fissureCoude_4(n_cas)) n_cas = 19 if n_cas in self.l_cas: - # genereMateriel : aucun from blocFissure.CasTests.fissureCoude_5 import fissureCoude_5 self.l_problemes.append(fissureCoude_5(n_cas)) n_cas = 20 if n_cas in self.l_cas: - # genereMateriel : aucun from blocFissure.CasTests.fissureCoude_6 import fissureCoude_6 self.l_problemes.append(fissureCoude_6(n_cas)) n_cas = 21 if n_cas in self.l_cas: - # genereMateriel : aucun from blocFissure.CasTests.fissureCoude_7 import fissureCoude_7 self.l_problemes.append(fissureCoude_7(n_cas)) n_cas = 22 if n_cas in self.l_cas: - # genereMateriel : aucun from blocFissure.CasTests.fissureCoude_8 import fissureCoude_8 self.l_problemes.append(fissureCoude_8(n_cas)) n_cas = 23 if n_cas in self.l_cas: - # genereMateriel : aucun from blocFissure.CasTests.fissureCoude_9 import fissureCoude_9 self.l_problemes.append(fissureCoude_9(n_cas)) n_cas = 24 if n_cas in self.l_cas: - # genereMateriel : aucun from blocFissure.CasTests.fissureCoude_10 import fissureCoude_10 self.l_problemes.append(fissureCoude_10(n_cas)) n_cas = 25 if n_cas in self.l_cas: - # genereMateriel : aucun from blocFissure.CasTests.fissure_Coude import fissure_Coude self.l_problemes.append(fissure_Coude(n_cas)) n_cas = 26 if n_cas in self.l_cas: - # genereMateriel : aucun from blocFissure.CasTests.fissure_Coude_4 import fissure_Coude_4 self.l_problemes.append(fissure_Coude_4(n_cas)) @@ -407,6 +391,9 @@ Le(s) numéro/nom du/des tests à passer. Si aucun n'est donné, tous les cas so if "ellipse_disque" in self.l_materiels: from blocFissure.materielCasTests import ellipse_disque + if "ellipse_probleme" in self.l_materiels: + from blocFissure.materielCasTests import ellipse_probleme + if "ellipse" in self.l_materiels: from blocFissure.materielCasTests import ellipse From 89b205395d338a1dab9d104d06f86757526365ef Mon Sep 17 00:00:00 2001 From: GERALD NICOLAS Date: Mon, 26 Apr 2021 18:31:41 +0200 Subject: [PATCH 08/10] =?UTF-8?q?Pr=C3=A9paration=20=C3=A0=20la=20scission?= =?UTF-8?q?=20des=20cas-tests?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../blocFissure_02_without_session.py | 49 +++++++++++++++++++ .../blocFissure_03_without_session.py | 45 +++++++++++++++++ .../blocFissure_04_without_session.py | 43 ++++++++++++++++ .../blocFissure_05_without_session.py | 43 ++++++++++++++++ .../blocFissure_06_without_session.py | 43 ++++++++++++++++ .../blocFissure_07_without_session.py | 46 +++++++++++++++++ 6 files changed, 269 insertions(+) create mode 100755 doc/salome/examples/blocFissure_02_without_session.py create mode 100755 doc/salome/examples/blocFissure_03_without_session.py create mode 100755 doc/salome/examples/blocFissure_04_without_session.py create mode 100755 doc/salome/examples/blocFissure_05_without_session.py create mode 100755 doc/salome/examples/blocFissure_06_without_session.py create mode 100755 doc/salome/examples/blocFissure_07_without_session.py diff --git a/doc/salome/examples/blocFissure_02_without_session.py b/doc/salome/examples/blocFissure_02_without_session.py new file mode 100755 index 000000000..454c70f3d --- /dev/null +++ b/doc/salome/examples/blocFissure_02_without_session.py @@ -0,0 +1,49 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +"""Tests de blocFissure ; en standalone + +Cas tests basés sur les matériels : +. decoupeCylindre +. disque_perce +. fissureGauche +. fissureGauche2 ++ ellipse, ellipse_disque, ellipse_probleme + +Copyright 2021 EDF +Gérald NICOLAS ++33.1.78.19.43.52 +""" + +__revision__ = "V02.03" + +import os +import sys + +# Lancement des cas-tests +import salome +salome.standalone() +salome.salome_init() + +from blocFissure.CasTests.blocFissureTest import blocFissureTest +BLOCFISSURE_TEST = blocFissureTest(["cylindre", "cylindre_2", "disquePerce", "faceGauche","ellipse_1", "ellipse_2", "faceGauche_2"]) +#BLOCFISSURE_TEST = blocFissureTest(["cylindre", "cylindre_2", "disquePerce", "faceGauche","ellipse_1", "ellipse_2"]) +MESSAGE_ERREUR = BLOCFISSURE_TEST.lancement() +sys.stdout.write(MESSAGE_ERREUR) +del BLOCFISSURE_TEST + +# Diagnostic +if MESSAGE_ERREUR: + if ( "NOOK" in MESSAGE_ERREUR ): + LAUX = MESSAGE_ERREUR.split() + ERREUR = int(LAUX[LAUX.index("NOOK")+2]) + else: + ERREUR = 0 +else: + MESSAGE_ERREUR = "Impossible de trouver le diagnostic de la procédure de tests." + ERREUR = -1 + +if ERREUR: + sys.stderr.write(MESSAGE_ERREUR) + #raise Exception(MESSAGE_ERREUR) + assert(False) + diff --git a/doc/salome/examples/blocFissure_03_without_session.py b/doc/salome/examples/blocFissure_03_without_session.py new file mode 100755 index 000000000..a6f730c21 --- /dev/null +++ b/doc/salome/examples/blocFissure_03_without_session.py @@ -0,0 +1,45 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +"""Tests de blocFissure ; en standalone + +Cas tests basés sur les matériels : +. eprouvetteCourbe +. eprouvetteDroite + +Copyright 2021 EDF +Gérald NICOLAS ++33.1.78.19.43.52 +""" + +__revision__ = "V02.03" + +import os +import sys + +# Lancement des cas-tests +import salome +salome.standalone() +salome.salome_init() + +from blocFissure.CasTests.blocFissureTest import blocFissureTest +BLOCFISSURE_TEST = blocFissureTest(["eprouvetteCourbe", "eprouvetteDroite", "eprouvetteDroite_2"]) +MESSAGE_ERREUR = BLOCFISSURE_TEST.lancement() +#sys.stdout.write(MESSAGE_ERREUR) +del BLOCFISSURE_TEST + +# Diagnostic +if MESSAGE_ERREUR: + if ( "NOOK" in MESSAGE_ERREUR ): + LAUX = MESSAGE_ERREUR.split() + ERREUR = int(LAUX[LAUX.index("NOOK")+2]) + else: + ERREUR = 0 +else: + MESSAGE_ERREUR = "Impossible de trouver le diagnostic de la procédure de tests." + ERREUR = -1 + +if ERREUR: + sys.stderr.write(MESSAGE_ERREUR) + #raise Exception(MESSAGE_ERREUR) + assert(False) + diff --git a/doc/salome/examples/blocFissure_04_without_session.py b/doc/salome/examples/blocFissure_04_without_session.py new file mode 100755 index 000000000..e535f7632 --- /dev/null +++ b/doc/salome/examples/blocFissure_04_without_session.py @@ -0,0 +1,43 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +"""Tests de blocFissure ; en standalone + +Cas tests basés sans matériels (1/3) + +Copyright 2021 EDF +Gérald NICOLAS ++33.1.78.19.43.52 +""" + +__revision__ = "V02.03" + +import os +import sys + +# Lancement des cas-tests +import salome +salome.standalone() +salome.salome_init() + +from blocFissure.CasTests.blocFissureTest import blocFissureTest +BLOCFISSURE_TEST = blocFissureTest(["fissureCoude_1", "fissureCoude_2", "fissureCoude_3", "fissureCoude_4", "fissureCoude_5"]) +MESSAGE_ERREUR = BLOCFISSURE_TEST.lancement() +#sys.stdout.write(MESSAGE_ERREUR) +del BLOCFISSURE_TEST + +# Diagnostic +if MESSAGE_ERREUR: + if ( "NOOK" in MESSAGE_ERREUR ): + LAUX = MESSAGE_ERREUR.split() + ERREUR = int(LAUX[LAUX.index("NOOK")+2]) + else: + ERREUR = 0 +else: + MESSAGE_ERREUR = "Impossible de trouver le diagnostic de la procédure de tests." + ERREUR = -1 + +if ERREUR: + sys.stderr.write(MESSAGE_ERREUR) + #raise Exception(MESSAGE_ERREUR) + assert(False) + diff --git a/doc/salome/examples/blocFissure_05_without_session.py b/doc/salome/examples/blocFissure_05_without_session.py new file mode 100755 index 000000000..16e4bb331 --- /dev/null +++ b/doc/salome/examples/blocFissure_05_without_session.py @@ -0,0 +1,43 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +"""Tests de blocFissure ; en standalone + +Cas tests basés sans matériels (1/3) + +Copyright 2021 EDF +Gérald NICOLAS ++33.1.78.19.43.52 +""" + +__revision__ = "V02.03" + +import os +import sys + +# Lancement des cas-tests +import salome +salome.standalone() +salome.salome_init() + +from blocFissure.CasTests.blocFissureTest import blocFissureTest +BLOCFISSURE_TEST = blocFissureTest(["fissureCoude_6", "fissureCoude_7", "fissureCoude_8", "fissureCoude_9", "fissureCoude_10"]) +MESSAGE_ERREUR = BLOCFISSURE_TEST.lancement() +#sys.stdout.write(MESSAGE_ERREUR) +del BLOCFISSURE_TEST + +# Diagnostic +if MESSAGE_ERREUR: + if ( "NOOK" in MESSAGE_ERREUR ): + LAUX = MESSAGE_ERREUR.split() + ERREUR = int(LAUX[LAUX.index("NOOK")+2]) + else: + ERREUR = 0 +else: + MESSAGE_ERREUR = "Impossible de trouver le diagnostic de la procédure de tests." + ERREUR = -1 + +if ERREUR: + sys.stderr.write(MESSAGE_ERREUR) + #raise Exception(MESSAGE_ERREUR) + assert(False) + diff --git a/doc/salome/examples/blocFissure_06_without_session.py b/doc/salome/examples/blocFissure_06_without_session.py new file mode 100755 index 000000000..185f5d74f --- /dev/null +++ b/doc/salome/examples/blocFissure_06_without_session.py @@ -0,0 +1,43 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +"""Tests de blocFissure ; en standalone + +Cas tests basés sans matériels (1/3) + +Copyright 2021 EDF +Gérald NICOLAS ++33.1.78.19.43.52 +""" + +__revision__ = "V02.03" + +import os +import sys + +# Lancement des cas-tests +import salome +salome.standalone() +salome.salome_init() + +from blocFissure.CasTests.blocFissureTest import blocFissureTest +BLOCFISSURE_TEST = blocFissureTest(["fissure_Coude", "fissure_Coude_4"]) +MESSAGE_ERREUR = BLOCFISSURE_TEST.lancement() +#sys.stdout.write(MESSAGE_ERREUR) +del BLOCFISSURE_TEST + +# Diagnostic +if MESSAGE_ERREUR: + if ( "NOOK" in MESSAGE_ERREUR ): + LAUX = MESSAGE_ERREUR.split() + ERREUR = int(LAUX[LAUX.index("NOOK")+2]) + else: + ERREUR = 0 +else: + MESSAGE_ERREUR = "Impossible de trouver le diagnostic de la procédure de tests." + ERREUR = -1 + +if ERREUR: + sys.stderr.write(MESSAGE_ERREUR) + #raise Exception(MESSAGE_ERREUR) + assert(False) + diff --git a/doc/salome/examples/blocFissure_07_without_session.py b/doc/salome/examples/blocFissure_07_without_session.py new file mode 100755 index 000000000..0d5413215 --- /dev/null +++ b/doc/salome/examples/blocFissure_07_without_session.py @@ -0,0 +1,46 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +"""Tests de blocFissure ; en standalone + +Cas tests basés sur les matériels : +. vis +. tube + +Copyright 2021 EDF +Gérald NICOLAS ++33.1.78.19.43.52 +""" + +__revision__ = "V02.03" + +import os +import sys + +# Lancement des cas-tests +import salome +salome.standalone() +salome.salome_init() + +from blocFissure.CasTests.blocFissureTest import blocFissureTest +BLOCFISSURE_TEST = blocFissureTest(["vis"]) +#BLOCFISSURE_TEST = blocFissureTest(["vis", "tube"]) +MESSAGE_ERREUR = BLOCFISSURE_TEST.lancement() +#sys.stdout.write(MESSAGE_ERREUR) +del BLOCFISSURE_TEST + +# Diagnostic +if MESSAGE_ERREUR: + if ( "NOOK" in MESSAGE_ERREUR ): + LAUX = MESSAGE_ERREUR.split() + ERREUR = int(LAUX[LAUX.index("NOOK")+2]) + else: + ERREUR = 0 +else: + MESSAGE_ERREUR = "Impossible de trouver le diagnostic de la procédure de tests." + ERREUR = -1 + +if ERREUR: + sys.stderr.write(MESSAGE_ERREUR) + #raise Exception(MESSAGE_ERREUR) + assert(False) + From e2f6c813044ef7f4d7cc5b431d0a2581b34ddca3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A9rald=20NICOLAS?= Date: Mon, 19 Apr 2021 15:53:53 +0200 Subject: [PATCH 09/10] =?UTF-8?q?Tri=20dans=20le=20rep=C3=A9rage=20des=20a?= =?UTF-8?q?r=C3=AAtes=20de=20peau?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 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))] + i_aux = -1 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 - 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: From 705ff2e64ca884a8b62d28974fd63a9f15772cb2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A9rald=20NICOLAS?= Date: Tue, 27 Apr 2021 16:17:18 +0200 Subject: [PATCH 10/10] Passage des cas-tests en moins de 1mn chacun --- .../blocFissure_01_without_session.py | 15 +- .../blocFissure_02_without_session.py | 10 +- .../blocFissure_07_without_session.py | 6 +- src/Tools/blocFissure/CasTests/CMakeLists.txt | 2 +- .../blocFissure/CasTests/blocFissureTest.py | 30 +-- .../{cubeAngle2.py => cubeAngle_2.py} | 4 +- src/Tools/blocFissure/CasTests/cylindre_2.py | 2 +- src/Tools/blocFissure/CasTests/disquePerce.py | 4 +- src/Tools/blocFissure/CasTests/ellipse_1.py | 4 +- src/Tools/blocFissure/CasTests/ellipse_2.py | 4 +- src/Tools/blocFissure/doc/conf.py.in | 2 +- ...{01_CubeAngle_2.png => 01_CubeAngle_a.png} | Bin .../{02_CubeAngle2.png => 02_CubeAngle_2.png} | Bin ..._CubeAngle2_2.png => 02_CubeAngle_2_a.png} | Bin .../{03_cylindre_2.png => 03_cylindre_a.png} | Bin .../{04_cylindre2.png => 04_cylindre_2.png} | Bin ...04_cylindre2_2.png => 04_cylindre_2_a.png} | Bin .../{05_disque_2.png => 05_disque_a.png} | Bin .../{06_ellipse1.png => 06_ellipse_1.png} | Bin .../{06_ellipse1_2.png => 06_ellipse_1_a.png} | Bin .../{07_ellipse2.png => 07_ellipse_2.png} | Bin .../{07_ellipse2_2.png => 07_ellipse_2_a.png} | Bin ...Courbe_2.png => 08_eprouvetteCourbe_a.png} | Bin ...Droite_2.png => 09_eprouvetteDroite_a.png} | Bin ...eDroite2.png => 10_eprouvetteDroite_2.png} | Bin ...ite2_2.png => 10_eprouvetteDroite_2_a.png} | Bin ...12_faceGauche2.png => 12_faceGauche_2.png} | Bin ...aceGauche2_2.png => 12_faceGauche_2_a.png} | Bin src/Tools/blocFissure/doc/scripts.rst | 14 +- src/Tools/blocFissure/doc/testcases.rst | 218 +++++++++--------- .../materielCasTests/CMakeLists.txt | 4 +- .../blocFissure/materielCasTests/cubeAngle.py | 2 +- .../{disque_perce.py => disquePerce.py} | 2 +- .../blocFissure/materielCasTests/ellipse.py | 10 +- .../materielCasTests/ellipse_probleme.py | 6 +- .../{fissureGauche2.py => fissureGauche_2.py} | 0 .../materielCasTests/genereMateriel.py | 4 +- 37 files changed, 163 insertions(+), 180 deletions(-) rename src/Tools/blocFissure/CasTests/{cubeAngle2.py => cubeAngle_2.py} (97%) rename src/Tools/blocFissure/doc/images/{01_CubeAngle_2.png => 01_CubeAngle_a.png} (100%) rename src/Tools/blocFissure/doc/images/{02_CubeAngle2.png => 02_CubeAngle_2.png} (100%) rename src/Tools/blocFissure/doc/images/{02_CubeAngle2_2.png => 02_CubeAngle_2_a.png} (100%) rename src/Tools/blocFissure/doc/images/{03_cylindre_2.png => 03_cylindre_a.png} (100%) rename src/Tools/blocFissure/doc/images/{04_cylindre2.png => 04_cylindre_2.png} (100%) rename src/Tools/blocFissure/doc/images/{04_cylindre2_2.png => 04_cylindre_2_a.png} (100%) rename src/Tools/blocFissure/doc/images/{05_disque_2.png => 05_disque_a.png} (100%) rename src/Tools/blocFissure/doc/images/{06_ellipse1.png => 06_ellipse_1.png} (100%) rename src/Tools/blocFissure/doc/images/{06_ellipse1_2.png => 06_ellipse_1_a.png} (100%) rename src/Tools/blocFissure/doc/images/{07_ellipse2.png => 07_ellipse_2.png} (100%) rename src/Tools/blocFissure/doc/images/{07_ellipse2_2.png => 07_ellipse_2_a.png} (100%) rename src/Tools/blocFissure/doc/images/{08_eprouvetteCourbe_2.png => 08_eprouvetteCourbe_a.png} (100%) rename src/Tools/blocFissure/doc/images/{09_eprouvetteDroite_2.png => 09_eprouvetteDroite_a.png} (100%) rename src/Tools/blocFissure/doc/images/{10_eprouvetteDroite2.png => 10_eprouvetteDroite_2.png} (100%) rename src/Tools/blocFissure/doc/images/{10_eprouvetteDroite2_2.png => 10_eprouvetteDroite_2_a.png} (100%) rename src/Tools/blocFissure/doc/images/{12_faceGauche2.png => 12_faceGauche_2.png} (100%) rename src/Tools/blocFissure/doc/images/{12_faceGauche2_2.png => 12_faceGauche_2_a.png} (100%) rename src/Tools/blocFissure/materielCasTests/{disque_perce.py => disquePerce.py} (99%) rename src/Tools/blocFissure/materielCasTests/{fissureGauche2.py => fissureGauche_2.py} (100%) diff --git a/doc/salome/examples/blocFissure_01_without_session.py b/doc/salome/examples/blocFissure_01_without_session.py index 798b5fd69..fcdda3284 100755 --- a/doc/salome/examples/blocFissure_01_without_session.py +++ b/doc/salome/examples/blocFissure_01_without_session.py @@ -11,7 +11,7 @@ Gérald NICOLAS +33.1.78.19.43.52 """ -__revision__ = "V02.03" +__revision__ = "V02.04" import os import sys @@ -22,18 +22,7 @@ salome.standalone() salome.salome_init() from blocFissure.CasTests.blocFissureTest import blocFissureTest -BLOCFISSURE_TEST = blocFissureTest(["cubeAngle", "cubeAngle2","cubeCoin", "cubeMilieu", "cubeTransverse"]) -#BLOCFISSURE_TEST = blocFissureTest(["cylindre", "cylindre_2"]) -#BLOCFISSURE_TEST = blocFissureTest(["disque_perce"]) -#BLOCFISSURE_TEST = blocFissureTest(["faceGauche"]) -#BLOCFISSURE_TEST = blocFissureTest(["ellipse_1", "ellipse_2", "faceGauche_2"]) -#BLOCFISSURE_TEST = blocFissureTest(["eprouvetteCourbe"]) -#BLOCFISSURE_TEST = blocFissureTest(["eprouvetteDroite", "eprouvetteDroite_2"]) -#BLOCFISSURE_TEST = blocFissureTest(["vis"]) -#BLOCFISSURE_TEST = blocFissureTest(["fissureCoude_1", "fissureCoude_2", "fissureCoude_3", "fissureCoude_4", "fissureCoude_5", "fissureCoude_6", "fissureCoude_7", "fissureCoude_8", "fissureCoude_9", "fissureCoude_10", "fissure_Coude", "fissure_Coude_4"]) -#BLOCFISSURE_TEST = blocFissureTest(["fissureCoude_1", "fissureCoude_2", "fissureCoude_3", "fissureCoude_4", "fissureCoude_5"]) -#BLOCFISSURE_TEST = blocFissureTest(["fissureCoude_6", "fissureCoude_7", "fissureCoude_8", "fissureCoude_9", "fissureCoude_10"]) -#BLOCFISSURE_TEST = blocFissureTest(["fissure_Coude", "fissure_Coude_4"]) +BLOCFISSURE_TEST = blocFissureTest(["cubeAngle", "cubeAngle_2","cubeCoin", "cubeMilieu", "cubeTransverse"]) MESSAGE_ERREUR = BLOCFISSURE_TEST.lancement() #sys.stdout.write(MESSAGE_ERREUR) del BLOCFISSURE_TEST diff --git a/doc/salome/examples/blocFissure_02_without_session.py b/doc/salome/examples/blocFissure_02_without_session.py index 454c70f3d..72700e3e9 100755 --- a/doc/salome/examples/blocFissure_02_without_session.py +++ b/doc/salome/examples/blocFissure_02_without_session.py @@ -6,7 +6,7 @@ Cas tests basés sur les matériels : . decoupeCylindre . disque_perce . fissureGauche -. fissureGauche2 +. fissureGauche_2 + ellipse, ellipse_disque, ellipse_probleme Copyright 2021 EDF @@ -14,7 +14,7 @@ Gérald NICOLAS +33.1.78.19.43.52 """ -__revision__ = "V02.03" +__revision__ = "V02.04" import os import sys @@ -25,10 +25,10 @@ salome.standalone() salome.salome_init() from blocFissure.CasTests.blocFissureTest import blocFissureTest -BLOCFISSURE_TEST = blocFissureTest(["cylindre", "cylindre_2", "disquePerce", "faceGauche","ellipse_1", "ellipse_2", "faceGauche_2"]) -#BLOCFISSURE_TEST = blocFissureTest(["cylindre", "cylindre_2", "disquePerce", "faceGauche","ellipse_1", "ellipse_2"]) +BLOCFISSURE_TEST = blocFissureTest(["cylindre", "cylindre_2", "disquePerce", "faceGauche","ellipse_1", "ellipse_2"]) +#BLOCFISSURE_TEST = blocFissureTest(["cylindre", "cylindre_2", "disquePerce", "faceGauche","ellipse_1", "ellipse_2", "faceGauche_2"]) MESSAGE_ERREUR = BLOCFISSURE_TEST.lancement() -sys.stdout.write(MESSAGE_ERREUR) +#sys.stdout.write(MESSAGE_ERREUR) del BLOCFISSURE_TEST # Diagnostic diff --git a/doc/salome/examples/blocFissure_07_without_session.py b/doc/salome/examples/blocFissure_07_without_session.py index 0d5413215..87ff9823b 100755 --- a/doc/salome/examples/blocFissure_07_without_session.py +++ b/doc/salome/examples/blocFissure_07_without_session.py @@ -11,7 +11,7 @@ Gérald NICOLAS +33.1.78.19.43.52 """ -__revision__ = "V02.03" +__revision__ = "V02.04" import os import sys @@ -22,8 +22,8 @@ salome.standalone() salome.salome_init() from blocFissure.CasTests.blocFissureTest import blocFissureTest -BLOCFISSURE_TEST = blocFissureTest(["vis"]) -#BLOCFISSURE_TEST = blocFissureTest(["vis", "tube"]) +BLOCFISSURE_TEST = blocFissureTest(["vis_1"]) +#BLOCFISSURE_TEST = blocFissureTest(["vis_1", "tube"]) MESSAGE_ERREUR = BLOCFISSURE_TEST.lancement() #sys.stdout.write(MESSAGE_ERREUR) del BLOCFISSURE_TEST diff --git a/src/Tools/blocFissure/CasTests/CMakeLists.txt b/src/Tools/blocFissure/CasTests/CMakeLists.txt index d6bce955a..2aec25d1e 100644 --- a/src/Tools/blocFissure/CasTests/CMakeLists.txt +++ b/src/Tools/blocFissure/CasTests/CMakeLists.txt @@ -23,7 +23,7 @@ SET(plugin_SCRIPTS __init__.py blocFissureTest.py - cubeAngle2.py + cubeAngle_2.py cubeAngle.py cubeCoin.py cubeMilieu.py diff --git a/src/Tools/blocFissure/CasTests/blocFissureTest.py b/src/Tools/blocFissure/CasTests/blocFissureTest.py index 8a5335753..6beab0aed 100644 --- a/src/Tools/blocFissure/CasTests/blocFissureTest.py +++ b/src/Tools/blocFissure/CasTests/blocFissureTest.py @@ -17,17 +17,17 @@ # # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # -__revision__ = "V03.01" +__revision__ = "V03.02" """Lancement des cas-tests de blocFissure Temps par type de matériel : -. cubeAngle : 24s ["cubeAngle", "cubeAngle2"]) +. cubeAngle : 24s ["cubeAngle", "cubeAngle_2"]) . cubeFin : 42s ["cubeCoin", "cubeMilieu", "cubeTransverse"] . decoupeCylindre : 8s ["cylindre", "cylindre_2"] -. disque_perce (+ ellipse_disque) : 9s ["disque_perce"] +. disquePerce (+ ellipse_disque) : 9s ["disquePerce"] . fissureGauche : 26s ["faceGauche"] -. fissureGauche2 (+ ellipse + ellipse_probleme): 22s ["ellipse_1", "ellipse_2", "faceGauche_2"] +. fissureGauche_2 (+ ellipse + ellipse_probleme): 22s ["ellipse_1", "ellipse_2", "faceGauche_2"] . eprouvetteCourbe : 22s ["eprouvetteCourbe"] . eprouvetteDroite : 31s ["eprouvetteDroite", "eprouvetteDroite_2"] . vis : 9s ["vis"] @@ -66,7 +66,7 @@ print ("TORUN = {} # PB".format(TORUNPB)) # Numéro de référence associé à chaque problème défini par le nom de son fichier dans le répertoire CasTests NREF_PB = dict() NREF_PB["cubeAngle"] = 0 -NREF_PB["cubeAngle2"] = 1 +NREF_PB["cubeAngle_2"] = 1 NREF_PB["cubeCoin"] = 2 NREF_PB["cubeMilieu"] = 3 NREF_PB["cubeTransverse"] = 4 @@ -198,8 +198,8 @@ Le(s) numéro/nom du/des tests à passer. Si aucun n'est donné, tous les cas so n_cas = 1 if n_cas in self.l_cas: - from blocFissure.CasTests.cubeAngle2 import cubeAngle2 - self.l_problemes.append(cubeAngle2(n_cas)) + from blocFissure.CasTests.cubeAngle_2 import cubeAngle_2 + self.l_problemes.append(cubeAngle_2(n_cas)) self.l_materiels.append("cubeAngle") n_cas = 2 @@ -240,7 +240,7 @@ Le(s) numéro/nom du/des tests à passer. Si aucun n'est donné, tous les cas so from blocFissure.CasTests import disquePerce self.l_problemes.append(casStandard(disquePerce.dicoParams, disquePerce.referencesMaillageFissure, n_cas)) self.d_nom_probleme[n_cas] = "disquePerce" - self.l_materiels.append("disque_perce") + self.l_materiels.append("disquePerce") self.l_materiels.append("ellipse_disque") n_cas = 8 @@ -248,14 +248,14 @@ Le(s) numéro/nom du/des tests à passer. Si aucun n'est donné, tous les cas so from blocFissure.CasTests.ellipse_1 import ellipse_1 self.l_problemes.append(ellipse_1(n_cas)) self.l_materiels.append("ellipse") - self.l_materiels.append("fissureGauche2") + self.l_materiels.append("fissureGauche_2") n_cas = 9 if n_cas in self.l_cas: from blocFissure.CasTests.ellipse_2 import ellipse_2 self.l_problemes.append(ellipse_2(n_cas)) self.l_materiels.append("ellipse_probleme") - self.l_materiels.append("fissureGauche2") + self.l_materiels.append("fissureGauche_2") n_cas = 10 if n_cas in self.l_cas: @@ -285,7 +285,7 @@ Le(s) numéro/nom du/des tests à passer. Si aucun n'est donné, tous les cas so if n_cas in self.l_cas: from blocFissure.CasTests.faceGauche_2 import faceGauche_2 self.l_problemes.append(faceGauche_2(n_cas)) - self.l_materiels.append("fissureGauche2") + self.l_materiels.append("fissureGauche_2") n_cas = 15 if n_cas in self.l_cas: @@ -385,8 +385,8 @@ Le(s) numéro/nom du/des tests à passer. Si aucun n'est donné, tous les cas so if "decoupeCylindre" in self.l_materiels: from blocFissure.materielCasTests import decoupeCylindre - if "disque_perce" in self.l_materiels: - from blocFissure.materielCasTests import disque_perce + if "disquePerce" in self.l_materiels: + from blocFissure.materielCasTests import disquePerce if "ellipse_disque" in self.l_materiels: from blocFissure.materielCasTests import ellipse_disque @@ -400,8 +400,8 @@ Le(s) numéro/nom du/des tests à passer. Si aucun n'est donné, tous les cas so if "fissureGauche" in self.l_materiels: from blocFissure.materielCasTests import fissureGauche - if "fissureGauche2" in self.l_materiels: - from blocFissure.materielCasTests import fissureGauche2 + if "fissureGauche_2" in self.l_materiels: + from blocFissure.materielCasTests import fissureGauche_2 if "eprouvetteCourbe" in self.l_materiels: from blocFissure.materielCasTests import eprouvetteCourbe diff --git a/src/Tools/blocFissure/CasTests/cubeAngle2.py b/src/Tools/blocFissure/CasTests/cubeAngle_2.py similarity index 97% rename from src/Tools/blocFissure/CasTests/cubeAngle2.py rename to src/Tools/blocFissure/CasTests/cubeAngle_2.py index f2ede5d65..24f2d01e1 100644 --- a/src/Tools/blocFissure/CasTests/cubeAngle2.py +++ b/src/Tools/blocFissure/CasTests/cubeAngle_2.py @@ -23,13 +23,13 @@ import os from .cubeAngle import cubeAngle -class cubeAngle2(cubeAngle): +class cubeAngle_2(cubeAngle): """problème de fissure plane coupant 2 faces (angle), débouches normaux, objet plan detection d'un probleme de tolerance sur les edges de jonction pipe et face fissure externe """ - nomProbleme = "cubeAngle2" + nomProbleme = "cubeAngle_2" # --------------------------------------------------------------------------- def setParamShapeFissure(self): diff --git a/src/Tools/blocFissure/CasTests/cylindre_2.py b/src/Tools/blocFissure/CasTests/cylindre_2.py index 05e6f22bc..4d0a93d4f 100644 --- a/src/Tools/blocFissure/CasTests/cylindre_2.py +++ b/src/Tools/blocFissure/CasTests/cylindre_2.py @@ -33,7 +33,7 @@ from .cylindre import cylindre class cylindre_2(cylindre): """problème de fissure plane sur cylindre hexa, fond de fissure complexe : polyline""" - nomProbleme = "cylindre2" + nomProbleme = "cylindre_2" # --------------------------------------------------------------------------- def genereShapeFissure( self, geometriesSaines, geomParams, shapeFissureParams, \ diff --git a/src/Tools/blocFissure/CasTests/disquePerce.py b/src/Tools/blocFissure/CasTests/disquePerce.py index 558afb038..8412b52d1 100644 --- a/src/Tools/blocFissure/CasTests/disquePerce.py +++ b/src/Tools/blocFissure/CasTests/disquePerce.py @@ -23,8 +23,8 @@ import os from blocFissure import gmu -dicoParams = dict(nomCas = 'disque', - nomProbleme = "disque", +dicoParams = dict(nomCas = 'disquePerce', + nomProbleme = "disquePerce", maillageSain = os.path.join(gmu.pathBloc, "materielCasTests", "disque.med"), CAOFaceFissure = os.path.join(gmu.pathBloc, "materielCasTests", "ellipse_disque.brep"), edgeFiss = [3], diff --git a/src/Tools/blocFissure/CasTests/ellipse_1.py b/src/Tools/blocFissure/CasTests/ellipse_1.py index 764e75c48..d29eddc25 100644 --- a/src/Tools/blocFissure/CasTests/ellipse_1.py +++ b/src/Tools/blocFissure/CasTests/ellipse_1.py @@ -34,7 +34,7 @@ from blocFissure.gmu.putName import putName class ellipse_1(fissureGenerique): """problème de fissure non plane, débouchante non normale""" - nomProbleme = "ellipse1" + nomProbleme = "ellipse_1" shapeFissureParams = dict() maillageFissureParams = dict() referencesMaillageFissure = dict() @@ -78,7 +78,7 @@ class ellipse_1(fissureGenerique): lgInfluence = shapeFissureParams['lgInfluence'] - shellFiss = geompy.ImportBREP(os.path.join(gmu.pathBloc, "materielCasTests", "ellipse1.brep")) + shellFiss = geompy.ImportBREP(os.path.join(gmu.pathBloc, "materielCasTests", "ellipse_1.brep")) fondFiss = geompy.CreateGroup(shellFiss, geompy.ShapeType["EDGE"]) geompy.UnionIDs(fondFiss, [3]) geompy.addToStudy( shellFiss, 'shellFiss' ) diff --git a/src/Tools/blocFissure/CasTests/ellipse_2.py b/src/Tools/blocFissure/CasTests/ellipse_2.py index b1dd29490..aaf78dc8a 100644 --- a/src/Tools/blocFissure/CasTests/ellipse_2.py +++ b/src/Tools/blocFissure/CasTests/ellipse_2.py @@ -32,7 +32,7 @@ from .ellipse_1 import ellipse_1 class ellipse_2(ellipse_1): """problème de fissure non plane, débouchante non normale""" - nomProbleme = "ellipse2" + nomProbleme = "ellipse_2" # --------------------------------------------------------------------------- def genereShapeFissure( self, geometriesSaines, geomParams, shapeFissureParams, \ @@ -43,7 +43,7 @@ class ellipse_2(ellipse_1): lgInfluence = shapeFissureParams['lgInfluence'] - shellFiss = geompy.ImportBREP(os.path.join(gmu.pathBloc, "materielCasTests", "ellipse1_pb.brep")) + shellFiss = geompy.ImportBREP(os.path.join(gmu.pathBloc, "materielCasTests", "ellipse_1_pb.brep")) fondFiss = geompy.CreateGroup(shellFiss, geompy.ShapeType["EDGE"]) geompy.UnionIDs(fondFiss, [3]) geompy.addToStudy( shellFiss, 'shellFiss' ) diff --git a/src/Tools/blocFissure/doc/conf.py.in b/src/Tools/blocFissure/doc/conf.py.in index 5d530fb5c..b72f48cc0 100644 --- a/src/Tools/blocFissure/doc/conf.py.in +++ b/src/Tools/blocFissure/doc/conf.py.in @@ -43,7 +43,7 @@ master_doc = 'index' # General substitutions. project = 'Plug-in blocFissure' -copyright = '2010-2021 EDF R&D' +copyright = '2010-2021 EDF' # The default replacements for |version| and |release|, also used in various # other places throughout the built documents. diff --git a/src/Tools/blocFissure/doc/images/01_CubeAngle_2.png b/src/Tools/blocFissure/doc/images/01_CubeAngle_a.png similarity index 100% rename from src/Tools/blocFissure/doc/images/01_CubeAngle_2.png rename to src/Tools/blocFissure/doc/images/01_CubeAngle_a.png diff --git a/src/Tools/blocFissure/doc/images/02_CubeAngle2.png b/src/Tools/blocFissure/doc/images/02_CubeAngle_2.png similarity index 100% rename from src/Tools/blocFissure/doc/images/02_CubeAngle2.png rename to src/Tools/blocFissure/doc/images/02_CubeAngle_2.png diff --git a/src/Tools/blocFissure/doc/images/02_CubeAngle2_2.png b/src/Tools/blocFissure/doc/images/02_CubeAngle_2_a.png similarity index 100% rename from src/Tools/blocFissure/doc/images/02_CubeAngle2_2.png rename to src/Tools/blocFissure/doc/images/02_CubeAngle_2_a.png diff --git a/src/Tools/blocFissure/doc/images/03_cylindre_2.png b/src/Tools/blocFissure/doc/images/03_cylindre_a.png similarity index 100% rename from src/Tools/blocFissure/doc/images/03_cylindre_2.png rename to src/Tools/blocFissure/doc/images/03_cylindre_a.png diff --git a/src/Tools/blocFissure/doc/images/04_cylindre2.png b/src/Tools/blocFissure/doc/images/04_cylindre_2.png similarity index 100% rename from src/Tools/blocFissure/doc/images/04_cylindre2.png rename to src/Tools/blocFissure/doc/images/04_cylindre_2.png diff --git a/src/Tools/blocFissure/doc/images/04_cylindre2_2.png b/src/Tools/blocFissure/doc/images/04_cylindre_2_a.png similarity index 100% rename from src/Tools/blocFissure/doc/images/04_cylindre2_2.png rename to src/Tools/blocFissure/doc/images/04_cylindre_2_a.png diff --git a/src/Tools/blocFissure/doc/images/05_disque_2.png b/src/Tools/blocFissure/doc/images/05_disque_a.png similarity index 100% rename from src/Tools/blocFissure/doc/images/05_disque_2.png rename to src/Tools/blocFissure/doc/images/05_disque_a.png diff --git a/src/Tools/blocFissure/doc/images/06_ellipse1.png b/src/Tools/blocFissure/doc/images/06_ellipse_1.png similarity index 100% rename from src/Tools/blocFissure/doc/images/06_ellipse1.png rename to src/Tools/blocFissure/doc/images/06_ellipse_1.png diff --git a/src/Tools/blocFissure/doc/images/06_ellipse1_2.png b/src/Tools/blocFissure/doc/images/06_ellipse_1_a.png similarity index 100% rename from src/Tools/blocFissure/doc/images/06_ellipse1_2.png rename to src/Tools/blocFissure/doc/images/06_ellipse_1_a.png diff --git a/src/Tools/blocFissure/doc/images/07_ellipse2.png b/src/Tools/blocFissure/doc/images/07_ellipse_2.png similarity index 100% rename from src/Tools/blocFissure/doc/images/07_ellipse2.png rename to src/Tools/blocFissure/doc/images/07_ellipse_2.png diff --git a/src/Tools/blocFissure/doc/images/07_ellipse2_2.png b/src/Tools/blocFissure/doc/images/07_ellipse_2_a.png similarity index 100% rename from src/Tools/blocFissure/doc/images/07_ellipse2_2.png rename to src/Tools/blocFissure/doc/images/07_ellipse_2_a.png diff --git a/src/Tools/blocFissure/doc/images/08_eprouvetteCourbe_2.png b/src/Tools/blocFissure/doc/images/08_eprouvetteCourbe_a.png similarity index 100% rename from src/Tools/blocFissure/doc/images/08_eprouvetteCourbe_2.png rename to src/Tools/blocFissure/doc/images/08_eprouvetteCourbe_a.png diff --git a/src/Tools/blocFissure/doc/images/09_eprouvetteDroite_2.png b/src/Tools/blocFissure/doc/images/09_eprouvetteDroite_a.png similarity index 100% rename from src/Tools/blocFissure/doc/images/09_eprouvetteDroite_2.png rename to src/Tools/blocFissure/doc/images/09_eprouvetteDroite_a.png diff --git a/src/Tools/blocFissure/doc/images/10_eprouvetteDroite2.png b/src/Tools/blocFissure/doc/images/10_eprouvetteDroite_2.png similarity index 100% rename from src/Tools/blocFissure/doc/images/10_eprouvetteDroite2.png rename to src/Tools/blocFissure/doc/images/10_eprouvetteDroite_2.png diff --git a/src/Tools/blocFissure/doc/images/10_eprouvetteDroite2_2.png b/src/Tools/blocFissure/doc/images/10_eprouvetteDroite_2_a.png similarity index 100% rename from src/Tools/blocFissure/doc/images/10_eprouvetteDroite2_2.png rename to src/Tools/blocFissure/doc/images/10_eprouvetteDroite_2_a.png diff --git a/src/Tools/blocFissure/doc/images/12_faceGauche2.png b/src/Tools/blocFissure/doc/images/12_faceGauche_2.png similarity index 100% rename from src/Tools/blocFissure/doc/images/12_faceGauche2.png rename to src/Tools/blocFissure/doc/images/12_faceGauche_2.png diff --git a/src/Tools/blocFissure/doc/images/12_faceGauche2_2.png b/src/Tools/blocFissure/doc/images/12_faceGauche_2_a.png similarity index 100% rename from src/Tools/blocFissure/doc/images/12_faceGauche2_2.png rename to src/Tools/blocFissure/doc/images/12_faceGauche_2_a.png diff --git a/src/Tools/blocFissure/doc/scripts.rst b/src/Tools/blocFissure/doc/scripts.rst index 078da2596..d8804c1c3 100644 --- a/src/Tools/blocFissure/doc/scripts.rst +++ b/src/Tools/blocFissure/doc/scripts.rst @@ -51,21 +51,21 @@ Geometrical parameters of the tore are illustrated : :align: center :alt: Geometrical parameters of the tore -Different levels of verbose are available. Use one of this 4 optional functions to set verbose type: +Different levels of verbose are available. The prints are located in the file ''LOGFILE''. Use one of this 4 optional functions to set verbose type: -- / **setDebug()** +- / **setDebug(LOGFILE)** -- / **setVerbose()** +- / **setVerbose(LOGFILE)** -- / **setRelease()** +- / **setRelease(LOGFILE)** -- / **setUnitTests()** +- / **setUnitTests(LOGFILE)** **example to run in salome session**:: from blocFissure import gmu from blocFissure.gmu import initLog - initLog.setDebug() + initLog.setDebug("/tmp/blocFissure.log") from blocFissure.casStandard import casStandard @@ -83,6 +83,8 @@ Different levels of verbose are available. Use one of this 4 optional functions execInstance = casStandard(dicoParams) + newmesh = execInstance.maillageFissure + diff --git a/src/Tools/blocFissure/doc/testcases.rst b/src/Tools/blocFissure/doc/testcases.rst index 8119c4e6e..57dc09481 100644 --- a/src/Tools/blocFissure/doc/testcases.rst +++ b/src/Tools/blocFissure/doc/testcases.rst @@ -4,96 +4,102 @@ Test cases ####################### -A base of 30 test cases guarantees the correct functioning of « Bloc Fissure ». 12 cases are dedicated to :ref:`cracked bended pipes ` and the others 13 are for other :ref:`generic geometries `. They are shown here in order to illustrate cases on which « Bloc Fissure » works. +A base of 28 test cases guarantees the correct functioning of « Bloc Fissure ». 12 cases are dedicated to :ref:`cracked bended pipes ` and the others 16 are for other :ref:`generic geometries `. They are shown here in order to illustrate cases on which « Bloc Fissure » works. .. _genericTC: Generic cases =============================== -All 13 cases are shown Table 2. Two views show the whole cracked structure and a zoom onto the crack with its tore. +All 16 cases are shown Table 2. Two views show the whole cracked structure and a zoom onto the crack with its tore. -+-------------------------------------------+----------------------------------------------+ -| CubeAngle | -+-------------------------------------------+----------------------------------------------+ -|.. image:: images/01_CubeAngle.png | .. image:: images/01_CubeAngle_2.png | -| :height: 300 | :height: 300 | -| :align: center | :align: center | -+-------------------------------------------+----------------------------------------------+ -| CubeAngle2 | -+-------------------------------------------+----------------------------------------------+ -|.. image:: images/02_CubeAngle2.png | .. image:: images/02_CubeAngle2_2.png | -| :height: 300 | :height: 300 | -| :align: center | :align: center | -+-------------------------------------------+----------------------------------------------+ -| cylindre | -+-------------------------------------------+----------------------------------------------+ -|.. image:: images/03_cylindre.png | .. image:: images/03_cylindre_2.png | -| :height: 300 | :height: 300 | -| :align: center | :align: center | -+-------------------------------------------+----------------------------------------------+ -| cylindre2 | -+-------------------------------------------+----------------------------------------------+ -|.. image:: images/04_cylindre2.png | .. image:: images/04_cylindre2_2.png | -| :height: 300 | :height: 300 | -| :align: center | :align: center | -+-------------------------------------------+----------------------------------------------+ -| disque | -+-------------------------------------------+----------------------------------------------+ -|.. image:: images/05_disque.png | .. image:: images/05_disque_2.png | -| :height: 300 | :height: 300 | -| :align: center | :align: center | -+-------------------------------------------+----------------------------------------------+ -| ellipse1 | -+-------------------------------------------+----------------------------------------------+ -|.. image:: images/06_ellipse1.png | .. image:: images/06_ellipse1_2.png | -| :height: 300 | :height: 300 | -| :align: center | :align: center | -+-------------------------------------------+----------------------------------------------+ -| ellipse2 (tilted crack) | -+-------------------------------------------+----------------------------------------------+ -|.. image:: images/07_ellipse2.png | .. image:: images/07_ellipse2_2.png | -| :height: 300 | :height: 300 | -| :align: center | :align: center | -+-------------------------------------------+----------------------------------------------+ -| eprouvetteCourbe | -+-------------------------------------------+----------------------------------------------+ -|.. image:: images/08_eprouvetteCourbe.png | .. image:: images/08_eprouvetteCourbe_2.png | -| :height: 300 | :height: 300 | -| :align: center | :align: center | -+-------------------------------------------+----------------------------------------------+ -| eprouvetteDroite | -+-------------------------------------------+----------------------------------------------+ -|.. image:: images/09_eprouvetteDroite.png | .. image:: images/09_eprouvetteDroite_2.png | -| :height: 300 | :height: 300 | -| :align: center | :align: center | -+-------------------------------------------+----------------------------------------------+ -| eprouvetteDroite2 | -+-------------------------------------------+----------------------------------------------+ -|.. image:: images/10_eprouvetteDroite2.png | .. image:: images/10_eprouvetteDroite2_2.png | -| :height: 300 | :height: 300 | -| :align: center | :align: center | -+-------------------------------------------+----------------------------------------------+ -| faceGauche | -+-------------------------------------------+----------------------------------------------+ -|.. image:: images/11_faceGauche.png | .. image:: images/11_faceGauche_2.png | -| :height: 300 | :height: 300 | -| :align: center | :align: center | -+-------------------------------------------+----------------------------------------------+ -| faceGauche2 | -+-------------------------------------------+----------------------------------------------+ -|.. image:: images/12_faceGauche2.png | .. image:: images/12_faceGauche2_2.png | -| :height: 300 | :height: 300 | -| :align: center | :align: center | -+-------------------------------------------+----------------------------------------------+ -| vis (Crack is in the radius filet between the screw head and the screw shank) | -+-------------------------------------------+----------------------------------------------+ -|.. image:: images/13_vis_1.png | .. image:: images/13_vis_1_2.png | -| :width: 400 | :width: 400 | -| :align: center | :align: center | -+-------------------------------------------+----------------------------------------------+ -| tube | -+-------------------------------------------+----------------------------------------------+ ++--------------------------------------------+-----------------------------------------------+ +| CubeAngle | ++--------------------------------------------+-----------------------------------------------+ +|.. image:: images/01_CubeAngle.png | .. image:: images/01_CubeAngle_a.png | +| :height: 300 | :height: 300 | +| :align: center | :align: center | ++--------------------------------------------+-----------------------------------------------+ +| CubeAngle_2 | ++--------------------------------------------+-----------------------------------------------+ +|.. image:: images/02_CubeAngle_2.png | .. image:: images/02_CubeAngle_2_a.png | +| :height: 300 | :height: 300 | +| :align: center | :align: center | ++--------------------------------------------+-----------------------------------------------+ +| cubeCoin | ++--------------------------------------------+-----------------------------------------------+ +| cubeMilieu | ++--------------------------------------------+-----------------------------------------------+ +| cubeTransverse | ++--------------------------------------------+-----------------------------------------------+ +| cylindre | ++--------------------------------------------+-----------------------------------------------+ +|.. image:: images/03_cylindre.png | .. image:: images/03_cylindre_a.png | +| :height: 300 | :height: 300 | +| :align: center | :align: center | ++--------------------------------------------+-----------------------------------------------+ +| cylindre_2 | ++--------------------------------------------+-----------------------------------------------+ +|.. image:: images/04_cylindre_2.png | .. image:: images/04_cylindre_2_a.png | +| :height: 300 | :height: 300 | +| :align: center | :align: center | ++--------------------------------------------+-----------------------------------------------+ +| disquePerce | ++--------------------------------------------+-----------------------------------------------+ +|.. image:: images/05_disque.png | .. image:: images/05_disque_a.png | +| :height: 300 | :height: 300 | +| :align: center | :align: center | ++--------------------------------------------+-----------------------------------------------+ +| ellipse_1 | ++--------------------------------------------+-----------------------------------------------+ +|.. image:: images/06_ellipse_1.png | .. image:: images/06_ellipse_1_a.png | +| :height: 300 | :height: 300 | +| :align: center | :align: center | ++--------------------------------------------+-----------------------------------------------+ +| ellipse_2 (tilted crack) | ++--------------------------------------------+-----------------------------------------------+ +|.. image:: images/07_ellipse_2.png | .. image:: images/07_ellipse_2_a.png | +| :height: 300 | :height: 300 | +| :align: center | :align: center | ++--------------------------------------------+-----------------------------------------------+ +| eprouvetteCourbe | ++--------------------------------------------+-----------------------------------------------+ +|.. image:: images/08_eprouvetteCourbe.png | .. image:: images/08_eprouvetteCourbe_a.png | +| :height: 300 | :height: 300 | +| :align: center | :align: center | ++--------------------------------------------+-----------------------------------------------+ +| eprouvetteDroite | ++--------------------------------------------+-----------------------------------------------+ +|.. image:: images/09_eprouvetteDroite.png | .. image:: images/09_eprouvetteDroite_a.png | +| :height: 300 | :height: 300 | +| :align: center | :align: center | ++--------------------------------------------+-----------------------------------------------+ +| eprouvetteDroite_2 | ++--------------------------------------------+-----------------------------------------------+ +|.. image:: images/10_eprouvetteDroite_2.png | .. image:: images/10_eprouvetteDroite_2_a.png | +| :height: 300 | :height: 300 | +| :align: center | :align: center | ++--------------------------------------------+-----------------------------------------------+ +| faceGauche | ++--------------------------------------------+-----------------------------------------------+ +|.. image:: images/11_faceGauche.png | .. image:: images/11_faceGauche_2.png | +| :height: 300 | :height: 300 | +| :align: center | :align: center | ++--------------------------------------------+-----------------------------------------------+ +| faceGauche_2 | ++--------------------------------------------+-----------------------------------------------+ +|.. image:: images/12_faceGauche_2.png | .. image:: images/12_faceGauche_2_a.png | +| :height: 300 | :height: 300 | +| :align: center | :align: center | ++--------------------------------------------+-----------------------------------------------+ +| vis (Crack is in the radius filet between the screw head and the screw shank) | ++--------------------------------------------+-----------------------------------------------+ +|.. image:: images/13_vis_1.png | .. image:: images/13_vis_1_2.png | +| :width: 400 | :width: 400 | +| :align: center | :align: center | ++--------------------------------------------+-----------------------------------------------+ +| tube | ++--------------------------------------------+-----------------------------------------------+ .. _pipeTC: @@ -123,16 +129,14 @@ coude_0 can be computed using this file for the data: « Bloc Fissure » is very efficient for the case of bended pipes. The generation of the geometry and the crack insertion takes only around 15s. -Running test cases +Data for the test cases ===================================== All the files for these test cases are stored in the directory of the installation of SALOME: ``Salome-VXXXX_package-YY/modules/SMESH_VXXXX/lib/python3.6/site-packages/salome/blocFissure`` -The test cases can be runned either through the python window of the SALOME GUI or with a python script. - -0) **Generate med and breps files.**:: +The set of the med, xao and brep files can be created by the following importation: from blocFissure.materielCasTests import genereMateriel @@ -142,48 +146,36 @@ Once the files are generated, they are saved into the directory of the installat There is no need to generate them again. -1) **To execute all test cases**:: +To check the installation of salome, the test cases can be computed by the salome test process:: - from blocFissure.CasTests import execution_Cas + salome -test blocFissure -2) **To execute only selected test cases**: +Running test cases +===================================== -modify the file ``CasTests/execution_Cas.py`` and change:: +The test cases can be runned by the following instructions:: - runall = False. #old : True + from blocFissure.CasTests.blocFissureTest import blocFissureTest + BLOCFISSURE_TEST = blocFissureTest(list_of_cases) + MESSAGE_ERREUR = BLOCFISSURE_TEST.lancement() + sys.stdout.write(MESSAGE_ERREUR) + del BLOCFISSURE_TEST -And change from 0 to 1 of the index of the test you want to launch:: +If ``list_of_cases`` is an empty list, all the cases are computed. - torun = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] - -then launch the test cases:: - - from blocFissure.CasTests import execution_Cas - -The index of each test is the position of the test in the following table, from 0 for cubeAngle, 1 for cubeAngle2, -2 for cubeCoin... from top to bottom, then from left to right. +If not, ``list_of_cases`` is made of the list of the numbers and/or the name of the requested case. The index of each test is the position of the test in the following table, from 0 for cubeAngle, 1 for cubeAngle_2, 2 for cubeCoin... from top to bottom, then from left to right. +--------------------+--------------------+--------------------+-----------------+-----------------+ | cubeAngle | cylindre_2 | eprouvetteDroite_2 | fissureCoude_3 | fissureCoude_9 | +--------------------+--------------------+--------------------+-----------------+-----------------+ -| cubeAngle2 | disquePerce | faceGauche | fissureCoude_4 | fissure_Coude | +| cubeAngle_2 | disquePerce | faceGauche | fissureCoude_4 | fissure_Coude | +--------------------+--------------------+--------------------+-----------------+-----------------+ | cubeCoin | ellipse_1 | faceGauche_2 | fissureCoude_5 | fissure_Coude_4 | +--------------------+--------------------+--------------------+-----------------+-----------------+ | cubeMilieu | ellipse_2 | fissureCoude_1 | fissureCoude_6 | vis_1 | +--------------------+--------------------+--------------------+-----------------+-----------------+ -| cubeTransverse | eprouvetteCourbe | fissureCoude_10 | fissureCoude_7 | tube | +| cubeTransverse | eprouvetteCourbe | fissureCoude_10 | fissureCoude_7 | | +--------------------+--------------------+--------------------+-----------------+-----------------+ | cylindre | eprouvetteDroite | fissureCoude_2 | fissureCoude_8 | | +--------------------+--------------------+--------------------+-----------------+-----------------+ -3) **To execute only one test case**:: - - from blocFissure.CasTests.[TEST_CASE_NAME] import [TEST_CASE_NAME] - - [TEST_CASE_NAME](0).executeProbleme() - -[TEST_CASE_NAME] is the name of the test case in the previous list. Note that the test cases fissureCoude_4 and fissure_Coude_4 are very similar. - - - diff --git a/src/Tools/blocFissure/materielCasTests/CMakeLists.txt b/src/Tools/blocFissure/materielCasTests/CMakeLists.txt index 51701fde3..af61ca4b1 100644 --- a/src/Tools/blocFissure/materielCasTests/CMakeLists.txt +++ b/src/Tools/blocFissure/materielCasTests/CMakeLists.txt @@ -25,13 +25,13 @@ SET(plugin_SCRIPTS cubeAngle.py cubeFin.py decoupeCylindre.py - disque_perce.py + disquePerce.py ellipse_disque.py ellipse_probleme.py ellipse.py eprouvetteCourbe.py eprouvetteDroite.py - fissureGauche2.py + fissureGauche_2.py fissureGauche.py genereMateriel.py tube.py diff --git a/src/Tools/blocFissure/materielCasTests/cubeAngle.py b/src/Tools/blocFissure/materielCasTests/cubeAngle.py index b3ed2808b..fe9332e1e 100644 --- a/src/Tools/blocFissure/materielCasTests/cubeAngle.py +++ b/src/Tools/blocFissure/materielCasTests/cubeAngle.py @@ -19,7 +19,7 @@ # """Géométries et maillages de base nécessaires aux cas-tests : . cubeAngle -. cubeAngle2 +. cubeAngle_2 """ import os diff --git a/src/Tools/blocFissure/materielCasTests/disque_perce.py b/src/Tools/blocFissure/materielCasTests/disquePerce.py similarity index 99% rename from src/Tools/blocFissure/materielCasTests/disque_perce.py rename to src/Tools/blocFissure/materielCasTests/disquePerce.py index 0bc931a23..c56b9ec9c 100644 --- a/src/Tools/blocFissure/materielCasTests/disque_perce.py +++ b/src/Tools/blocFissure/materielCasTests/disquePerce.py @@ -18,7 +18,7 @@ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # """Géométrie et maillage de base nécessaire au cas-test : -. disque_perce +. disquePerce """ import os diff --git a/src/Tools/blocFissure/materielCasTests/ellipse.py b/src/Tools/blocFissure/materielCasTests/ellipse.py index d2e592577..dd3272758 100644 --- a/src/Tools/blocFissure/materielCasTests/ellipse.py +++ b/src/Tools/blocFissure/materielCasTests/ellipse.py @@ -54,8 +54,8 @@ Scale_1 = geompy.MakeScaleAlongAxes(Rotation_1, Vertex_1, 1, 1.5, 1) Vertex_3 = geompy.MakeVertex(420, -400, 300) Vertex_4 = geompy.MakeVertex(500, 400, 500) Box_1 = geompy.MakeBoxTwoPnt(Vertex_4, Vertex_3) -ellipse1 = geompy.MakeCut(Scale_1, Box_1) -[fondFiss] = geompy.SubShapes(ellipse1, [4]) +ellipse_1 = geompy.MakeCut(Scale_1, Box_1) +[fondFiss] = geompy.SubShapes(ellipse_1, [4]) geompy.addToStudy( O, 'O' ) geompy.addToStudy( OX, 'OX' ) geompy.addToStudy( OY, 'OY' ) @@ -69,9 +69,9 @@ geompy.addToStudy( Scale_1, 'Scale_1' ) geompy.addToStudy( Vertex_3, 'Vertex_3' ) geompy.addToStudy( Vertex_4, 'Vertex_4' ) geompy.addToStudy( Box_1, 'Box_1' ) -geompy.addToStudy( ellipse1, 'ellipse1' ) -geompy.addToStudyInFather( ellipse1, fondFiss, 'fondFiss' ) -geompy.ExportBREP(ellipse1, os.path.join(gmu.pathBloc, "materielCasTests", "ellipse1.brep")) +geompy.addToStudy( ellipse_1, 'ellipse_1' ) +geompy.addToStudyInFather( ellipse_1, fondFiss, 'fondFiss' ) +geompy.ExportBREP(ellipse_1, os.path.join(gmu.pathBloc, "materielCasTests", "ellipse_1.brep")) if salome.sg.hasDesktop(): diff --git a/src/Tools/blocFissure/materielCasTests/ellipse_probleme.py b/src/Tools/blocFissure/materielCasTests/ellipse_probleme.py index 1d271c599..096f805aa 100644 --- a/src/Tools/blocFissure/materielCasTests/ellipse_probleme.py +++ b/src/Tools/blocFissure/materielCasTests/ellipse_probleme.py @@ -54,7 +54,7 @@ Vertex_2 = geompy.MakeVertex(20, -100, -50) Vertex_4 = geompy.MakeVertex(100, 100, 50) Box_1 = geompy.MakeBoxTwoPnt(Vertex_2, Vertex_4) Cut_1 = geompy.MakeCut(Rotation_1, Box_1) -ellipse1 = geompy.MakeTranslation(Cut_1, 400, 0, 400) +ellipse_1 = geompy.MakeTranslation(Cut_1, 400, 0, 400) geompy.addToStudy( Disk_1, 'Disk_1' ) geompy.addToStudy( O, 'O' ) geompy.addToStudy( OX, 'OX' ) @@ -68,8 +68,8 @@ geompy.addToStudy( Vertex_2, 'Vertex_2' ) geompy.addToStudy( Box_1, 'Box_1' ) geompy.addToStudy( Vertex_4, 'Vertex_4' ) geompy.addToStudy( Cut_1, 'Cut_1' ) -geompy.addToStudy( ellipse1, 'ellipse1_pb' ) -geompy.ExportBREP(ellipse1, os.path.join(gmu.pathBloc, "materielCasTests", "ellipse1_pb.brep")) +geompy.addToStudy( ellipse_1, 'ellipse_1_pb' ) +geompy.ExportBREP(ellipse_1, os.path.join(gmu.pathBloc, "materielCasTests", "ellipse_1_pb.brep")) if salome.sg.hasDesktop(): diff --git a/src/Tools/blocFissure/materielCasTests/fissureGauche2.py b/src/Tools/blocFissure/materielCasTests/fissureGauche_2.py similarity index 100% rename from src/Tools/blocFissure/materielCasTests/fissureGauche2.py rename to src/Tools/blocFissure/materielCasTests/fissureGauche_2.py diff --git a/src/Tools/blocFissure/materielCasTests/genereMateriel.py b/src/Tools/blocFissure/materielCasTests/genereMateriel.py index f597b9eb9..7ef23abb6 100644 --- a/src/Tools/blocFissure/materielCasTests/genereMateriel.py +++ b/src/Tools/blocFissure/materielCasTests/genereMateriel.py @@ -21,13 +21,13 @@ from blocFissure.materielCasTests import cubeAngle from blocFissure.materielCasTests import cubeFin from blocFissure.materielCasTests import decoupeCylindre -from blocFissure.materielCasTests import disque_perce +from blocFissure.materielCasTests import disquePerce from blocFissure.materielCasTests import ellipse_disque from blocFissure.materielCasTests import ellipse from blocFissure.materielCasTests import ellipse_probleme from blocFissure.materielCasTests import eprouvetteCourbe from blocFissure.materielCasTests import eprouvetteDroite from blocFissure.materielCasTests import fissureGauche -from blocFissure.materielCasTests import fissureGauche2 +from blocFissure.materielCasTests import fissureGauche_2 from blocFissure.materielCasTests import vis from blocFissure.materielCasTests import tube