Salome HOME
mse a jour du 07/03/2016 pour sauvegarde
[tools/eficas.git] / generator / generator_PSEN.py
old mode 100644 (file)
new mode 100755 (executable)
index c9df95a..30daec5
@@ -25,7 +25,9 @@ texte_debut+='   format="med";\n'
 import traceback
 import types,string,re,os
 from Extensions.i18n import tr
 import traceback
 import types,string,re,os
 from Extensions.i18n import tr
-from generator_python import PythonGenerator
+from generator_dicoImbrique import DicoImbriqueGenerator
+import pdb
+from numpy import zeros
 
 def entryPoint():
    """
 
 def entryPoint():
    """
@@ -40,7 +42,7 @@ def entryPoint():
           }
 
 
           }
 
 
-class PSENGenerator(PythonGenerator):
+class PSENGenerator(DicoImbriqueGenerator):
    """
       Ce generateur parcourt un objet de type JDC et produit
       un texte au format eficas et 
    """
       Ce generateur parcourt un objet de type JDC et produit
       un texte au format eficas et 
@@ -53,10 +55,21 @@ class PSENGenerator(PythonGenerator):
 #----------------------------------------------------------------------------------------
    def gener(self,obj,format='brut',config=None):
 
 #----------------------------------------------------------------------------------------
    def gener(self,obj,format='brut',config=None):
 
+      print "je passe dans gener"
+      try :
+         self.MachineDico = obj.MachineDico
+         self.LoadDico = obj.LoadDico
+         self.LineDico = obj.LineDico
+         self.TransfoDico = obj.TransfoDico
+      except :
+         self.MachineDico = None
+         self.LoadDico = None
+         self.LineDico = None
+         self.TransfoDico = None
+      
       self.initDico()
       self.initDico()
-
       # Cette instruction genere le contenu du fichier de commandes (persistance)
       # Cette instruction genere le contenu du fichier de commandes (persistance)
-      self.text=PythonGenerator.gener(self,obj,format)
+      self.text=DicoImbriqueGenerator.gener(self,obj,format)
       return self.text
 
 
       return self.text
 
 
@@ -65,7 +78,12 @@ class PSENGenerator(PythonGenerator):
 #----------------------------------------------------------------------------------------
    
    def initDico(self) :
 #----------------------------------------------------------------------------------------
    
    def initDico(self) :
-      self.textePourRun = texte_debut
+      DicoImbriqueGenerator.initDico(self)
+      self.Entete = 'MachineDico = ' + str(self.MachineDico) +'\n'
+      self.Entete += 'LoadDico = ' + str(self.LoadDico) +'\n'
+      self.Entete += 'LineDico = ' + str(self.LineDico) +'\n'
+      self.Entete += 'TransfoDico = ' + str(self.TransfoDico) +'\n'
+      self.Entete +='\n'
 
 
 #----------------------------------------------------------------------------------------
 
 
 #----------------------------------------------------------------------------------------
@@ -73,40 +91,31 @@ class PSENGenerator(PythonGenerator):
 #----------------------------------------------------------------------------------------
 
    def writeDefault(self,fn) :
 #----------------------------------------------------------------------------------------
 
    def writeDefault(self,fn) :
-        print self.textePourRun
-
-   def ajoutRun(self) :
-        self.textePourRun+="   write_mesh_crack();\n"
-        self.textePourRun+="   do_mesh_crack(0);\n"
-        self.textePourRun+="   nice_cut(20.);\n"
-        self.textePourRun+='   export_mesh("'+self.cracked_name+'","med");\n'
-        self.textePourRun+="}"
+       fileDico=os.path.abspath(os.path.join(os.path.dirname(os.path.abspath(__file__)),'..','PSEN_Eficas','PSEN','PSENconfig.py'))
+       f = open( str(fileDico), 'wb')
+       f.write( self.Entete + "Dico =" + str(self.Dico) )
+       f.close()
 
 
+   
 
 #----------------------------------------------------------------------------------------
 #  analyse de chaque noeud de l'arbre 
 #----------------------------------------------------------------------------------------
 
 
 #----------------------------------------------------------------------------------------
 #  analyse de chaque noeud de l'arbre 
 #----------------------------------------------------------------------------------------
 
-   def generMCSIMP(self,obj) :
-        """recuperation de l objet MCSIMP"""
-        #print dir(obj)
-        s=PythonGenerator.generMCSIMP(self,obj)
-        if obj.nom in ListeConcatene : 
-           stringListe=""
-           for val in obj.val:
-               stringListe+=str(val)+" "
-           self.textePourRun+="   "+obj.nom+ "='"+ stringListe[0:-1]+ "';\n"
-           return s
-        if obj.nom=="elset_radius" :
-           self.textePourRun+="   if_must_define_elset=1;\n"
-        if obj.nom=="sane_name" :
-           self.textePourRun+="   import_mesh('"+obj.val+"');\n"
-        if obj.nom=="cracked_name" : self.cracked_name=obj.val
-        if obj.nom=="repertoire" : 
-           print "PNPNPN a traiter"
-           return s
-        self.textePourRun+="   "+obj.nom+ "=" + s[0:-1]+ ";\n"
-        return s
+##   def generMCSIMP(self,obj) :
+##        """recuperation de l objet MCSIMP"""
+##        #print dir(obj)
+##        self.dicoMCSIMP[obj.nom]=obj.val
+##        self.dicoTemp[obj.nom]=obj.val
+##        s=DicoImbriqueGenerator.generMCSIMP(self,obj)
+##        return s
+##
+##   def generETAPE(self,obj):
+##        self.dicoTemp={}
+##        s=DicoImbriqueGenerator.generETAPE(self,obj)
+##        if obj.nom=="DISTRIBUTION" : self.dicoLois[obj.sd.nom]=self.dicoTemp
+##        self.dicoTemp={}
+##        return s
 
   
 # si repertoire on change tous les noms de fichier
 
   
 # si repertoire on change tous les noms de fichier