X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=Aster%2FCata%2FcataSTA8%2FMacro%2Fmacro_miss_3d_ops.py;h=315f430770eff8d2b30010e287accf8aa4d759f6;hb=69ed0ccae7884aee37bbe54cb1af2983cb51492d;hp=0d5d360b714aab0b738ee9601f9bfcc7bc3ef6a5;hpb=acf022b3de705754ccfd98e18a8c4c1b9674c081;p=tools%2Feficas.git diff --git a/Aster/Cata/cataSTA8/Macro/macro_miss_3d_ops.py b/Aster/Cata/cataSTA8/Macro/macro_miss_3d_ops.py index 0d5d360b..315f4307 100644 --- a/Aster/Cata/cataSTA8/Macro/macro_miss_3d_ops.py +++ b/Aster/Cata/cataSTA8/Macro/macro_miss_3d_ops.py @@ -1,4 +1,4 @@ -#@ MODIF macro_miss_3d_ops Macro DATE 03/11/2004 AUTEUR ACBHHCD G.DEVESA +#@ MODIF macro_miss_3d_ops Macro DATE 06/06/2007 AUTEUR SALMONA L.SALMONA # -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== @@ -22,12 +22,15 @@ def macro_miss_3d_ops(self,UNITE_IMPR_ASTER,UNITE_OPTI_MISS, UNITE_MODELE_SOL,UNITE_RESU_IMPE, - PROJET,REPERTOIRE,OPTION,VERSION,**args): + PROJET,REPERTOIRE,OPTION,VERSION, + UNITE_RESU_FORC,PARAMETRE,**args): """ Ecriture de la macro MACRO_MISS_3D """ import types from Accas import _F + from Utilitai.Utmess import UTMESS + from types import TupleType, ListType ier=0 # On importe les definitions des commandes a utiliser dans la macro @@ -35,16 +38,30 @@ def macro_miss_3d_ops(self,UNITE_IMPR_ASTER,UNITE_OPTI_MISS, DEFI_FICHIER =self.get_cmd('DEFI_FICHIER') EXEC_LOGICIEL =self.get_cmd('EXEC_LOGICIEL') # La macro compte pour 1 dans la numerotation des commandes - #self.icmd=1 self.set_icmd(1) DEFI_FICHIER(ACTION='LIBERER',UNITE=UNITE_IMPR_ASTER) import aster loc_fic=aster.repout() - miss3d=loc_fic+'miss3d' - #miss3d='/home/acbhhcd/MISS3D/V6.4/miss3d.csh' + tv = aster.__version__.split('.') + if len(tv) < 3: + tv.extend(['x']*(3-len(tv))) + elif len(tv) > 3: + tv = tv[:3] + vers = '%2s.%2s.%2s' % tuple(tv) + # if vers > ' 8. 3.11': + # miss3d='/aster/logiciels/MISS3D/NEW/miss3d.csh' + # else: + # miss3d=loc_fic+'miss3d' + + miss3d=loc_fic+'miss3d' + + # if VERSION=='V1_2': + # if PARAMETRE != None and PARAMETRE['TYPE']=='BINAIRE': + # raise AsException("MACRO_MISS_3D/PARAMETRE : type incompatible avec version") + if OPTION['TOUT']!=None: MODUL2='COMPLET' elif OPTION['MODULE']=='MISS_IMPE': @@ -60,17 +77,65 @@ def macro_miss_3d_ops(self,UNITE_IMPR_ASTER,UNITE_OPTI_MISS, popti = 'fort.'+str(UNITE_OPTI_MISS) pdsol = 'fort.'+str(UNITE_MODELE_SOL) primp = 'fort.'+str(UNITE_RESU_IMPE) - + prfor = 'fort.'+str(UNITE_RESU_FORC) + + l_para = ['FREQ_MIN','FREQ_MAX','FREQ_PAS','Z0','RFIC','SURF', + 'FICH_RESU_IMPE','FICH_RESU_FORC','TYPE','DREF','ALGO', + 'OFFSET_MAX','OFFSET_NB','SPEC_MAX','SPEC_NB','ISSF', + 'FICH_POST_TRAI','CONTR_NB','CONTR_LISTE','LFREQ_NB', + 'LFREQ_LISTE'] + if PARAMETRE != None and PARAMETRE['LFREQ_NB'] != None: + if len(PARAMETRE['LFREQ_LISTE']) != PARAMETRE['LFREQ_NB']: + UTMESS('F', 'MACRO_MISS3D', 'Longueur de LFREQ_LISTE incorrecte') + if PARAMETRE != None and PARAMETRE['CONTR_NB'] != None: + if len(PARAMETRE['CONTR_LISTE']) != 3*PARAMETRE['CONTR_NB']: + UTMESS('F', 'MACRO_MISS3D', 'Longueur de CONTR_LISTE incorrecte') + + dpara = {} + for cle in l_para: + if cle in ('SURF', 'ISSF', ): + dpara[cle] = 'NON' + else: + dpara[cle] = '0' + if PARAMETRE != None and PARAMETRE[cle] != None: + if type(PARAMETRE[cle]) in (TupleType, ListType): + dpara[cle] = repr(' '.join([str(s) for s in PARAMETRE[cle]])) + else: + dpara[cle] = str(PARAMETRE[cle]) + EXEC_LOGICIEL( LOGICIEL=miss3d, - ARGUMENT=(_F(NOM_PARA=MODUL2), - _F(NOM_PARA=ETUDE), - _F(NOM_PARA=BASE), - _F(NOM_PARA=paste), - _F(NOM_PARA=popti), - _F(NOM_PARA=pdsol), - _F(NOM_PARA=primp), - _F(NOM_PARA=VERSION), ), + ARGUMENT=(MODUL2, + ETUDE, + BASE, + paste, + popti, + pdsol, + primp, + VERSION, + dpara['FREQ_MIN'], + dpara['FREQ_MAX'], + dpara['FREQ_PAS'], + dpara['Z0'], + dpara['SURF'], + dpara['RFIC'], + dpara['FICH_RESU_IMPE'], + dpara['FICH_RESU_FORC'], + dpara['DREF'], + dpara['ALGO'], + dpara['OFFSET_MAX'], + dpara['OFFSET_NB'], + dpara['SPEC_MAX'], + dpara['SPEC_NB'], + dpara['ISSF'], + dpara['FICH_POST_TRAI'], + dpara['CONTR_NB'], + dpara['CONTR_LISTE'], + dpara['LFREQ_NB'], + dpara['LFREQ_LISTE'], + dpara['TYPE'], + prfor, + ), ) return ier