self.fenetre = fenetre
else:
self.fenetre = fenetre.master
- fenetre.destroy()
+ fenetre.destroy()
self.fenetre.title(self.objet.titre)
self.fenetre.geometry("700x700+50+50")
self.fenetre.resizable(1,1)
#self.fenetre.maxsize(900,800)
self.fenetre.protocol("WM_DELETE_WINDOW",self.quit)
self.fenetre.update()
-
+
def init_frames(self):
"""
Initialise les frames principales de l'appli
self.scroll_h.grid(row=1,column=0,rowspan=2,sticky='nesw')
self.canvas = Canvas(self.frame1,
bg='white',
- relief='sunken',
- scrollregion=(0,0,1000,1000),
- yscrollcommand=self.scroll_v.set,
- xscrollcommand=self.scroll_h.set)
+ relief='sunken',
+ scrollregion=(0,0,1000,1000),
+ yscrollcommand=self.scroll_v.set,
+ xscrollcommand=self.scroll_h.set)
self.canvas.grid(row=0,column=0,sticky='nesw')
self.scroll_v.configure(command=self.canvas.yview)
self.scroll_h.configure(command=self.canvas.xview)
bbox = self.canvas.bbox(titre)
bordure = self.canvas.create_rectangle(bbox[0]-5,bbox[1]-5,bbox[2]+5,bbox[3]+5,
outline = 'black',
- fill = 'grey75')
- self.canvas.lower(bordure)
+ fill = 'grey75')
+ self.canvas.lower(bordure)
self.y_courant += 100
# Construction des items
for item in self.objet.l_items :
# Affichage du texte dans le fichier associé (s'il existe)
if self.objet.fichier :
try:
- texte=open(self.objet.fichier,'r').read()
+ texte=open(self.objet.fichier,'r').read()
except:
texte="Fichier %s inaccessible" % self.objet.fichier
- self.canvas.create_text(10,self.y_courant+20,
- text=texte,
- anchor='nw')
+ self.canvas.create_text(10,self.y_courant+20,
+ text=texte,
+ anchor='nw')
# Configuration dynamique des boutons
self.config_boutons()
#
"""
l = Label(self.canvas,
text=item.titre,
- foreground = 'blue',
- background='white',
- font="Helvetica 12 bold")
+ foreground = 'blue',
+ background='white',
+ font="Helvetica 12 bold")
l.bind("<Button-1>",lambda e,s=self,o=item : s.update_objet(o))
l.bind("<Enter>",lambda e,s=self,o=l : s.select_label(o))
l.bind("<Leave>",lambda e,s=self,o=l : s.deselect_label(o))
l_items = self.t_item[2]
if l_items :
for item in l_items :
- o = ITEM_INDEX(item)
+ o = ITEM_INDEX(item)
o.build()
self.l_items.append(o)
exec txt in d
items = d.get("items",None)
if items :
- self.titre = items[0]
- self.fichier = items[1]
- l_items = items[2]
- for item in l_items :
+ self.titre = items[0]
+ self.fichier = items[1]
+ l_items = items[2]
+ for item in l_items :
o = ITEM_INDEX(item)
- o.build()
+ o.build()
self.l_items.append(o)
Pour installer EFICAS a partir de la distribution : <nom_distrib>.tgz
faire :
- tar xzvf <nom_distrib>.tgz
+ tar xzvf <nom_distrib>.tgz
ce qui a pour effet de créer un répertoire de nom <nom_distrib>.
2- Utilisation d'Eficas
Pour utiliser Eficas, aller dans le répertoire Aster et faire :
- python eficas_aster.py
+ python eficas_aster.py
-------------------------------------------------------------------------------------------------------------
- FAQs et Limitations d'EFICAS
+ FAQs et Limitations d'EFICAS
-------------------------------------------------------------------------------------------------------------
1. Mots réservés :
- Tous les mots du langage Python sont des mots réservés.
- On ne peut donc pas appeler une variable ou un concept 'fin' ou 'dir'
- Pour la liste complète de ces mots-clés, veuillez vous référer à la
- documentation Python
+ Tous les mots du langage Python sont des mots réservés.
+ On ne peut donc pas appeler une variable ou un concept 'fin' ou 'dir'
+ Pour la liste complète de ces mots-clés, veuillez vous référer à la
+ documentation Python
2. Concepts réentrants :
- Ne pas indiquer par un '&' devant son nom qu'un concept est utilisé comme
- concept réentrant. En effet EFICAS le sait !
+ Ne pas indiquer par un '&' devant son nom qu'un concept est utilisé comme
+ concept réentrant. En effet EFICAS le sait !
3. Carte commentaire :
- La carte commentaire est désormais le '#' (dièse) au lieu du '%' (pourcent)
+ La carte commentaire est désormais le '#' (dièse) au lieu du '%' (pourcent)
Les commentaires sont gérés comme des objets de même niveau que les
commandes ; il n'est plus possible de placer des commentaires "dans"
une commande. Attention, lors de la traduction d'un fichier de version 5
4. Nommer le concept produit par un opérateur :
- Vous ne pouvez nommer le concept produit d'un opérateur que lorsque
- celui-ci aura été entièrement et correctement rempli.
+ Vous ne pouvez nommer le concept produit d'un opérateur que lorsque
+ celui-ci aura été entièrement et correctement rempli.
5. Règle de rémanence dans les mots-clés facteurs répétés :
- La règle de rémanence qui permettait pour certains mots-clés facteurs
- et pour certains de leurs mots-clés simples de ne pas répeter la valeur
- de ces derniers dans toutes les occurrences du mot-clé facteur n'est pas
- connue d'EFICAS.
- En conséquence, vous devez répéter les mots-clés simples concernés dans
- toutes les occurrences des mots-clés facteurs.
+ La règle de rémanence qui permettait pour certains mots-clés facteurs
+ et pour certains de leurs mots-clés simples de ne pas répeter la valeur
+ de ces derniers dans toutes les occurrences du mot-clé facteur n'est pas
+ connue d'EFICAS.
+ En conséquence, vous devez répéter les mots-clés simples concernés dans
+ toutes les occurrences des mots-clés facteurs.
6. Besoin d'aide ?
-
- La documentation d'utilisation d'EFICAS a pris un peu de retard sur le produit ...
- Néanmoins, vous disposez sur la plupart des panneaux contextuels ( les panneaux à
- droite de l'arbre) d'une aide en ligne que vous pouvez activer en maintenant le
- bouton droit de votre souris enfoncé.
+
+ La documentation d'utilisation d'EFICAS a pris un peu de retard sur le produit ...
+ Néanmoins, vous disposez sur la plupart des panneaux contextuels ( les panneaux à
+ droite de l'arbre) d'une aide en ligne que vous pouvez activer en maintenant le
+ bouton droit de votre souris enfoncé.
Pour installer EFICAS a partir de la distribution : <nom_distrib>.tgz
faire :
- tar xzvf <nom_distrib>.tgz
+ tar xzvf <nom_distrib>.tgz
ce qui a pour effet de créer un répertoire de nom <nom_distrib>.
2- Utilisation d'Eficas
Pour utiliser Eficas, aller dans le répertoire Aster et faire :
- python eficas_aster.py
+ python eficas_aster.py
P4 = [2,3,4];
-#Pas trouve shellpanel
+#Pas trouve shellpanel
MAILLA2=LIRE_MAILLAGE(UNITE=P4[1],);
#('ASTER','v8',os.path.join(rep_cata,'cataSTA8'),'python','defaut'),
('ASTER','v8.2',os.path.join(rep_cata,'cataSTA81'),'python','defaut'),
#('ASTER','v75',os.path.join(rep_cata,'cataSTA75'),'python','defaut'),
- ('HOMARD','v1',os.path.join(rep_homard,'homard_cata_V73.py'),'homard'),
+ ('HOMARD','v1',os.path.join(rep_homard,'homard_cata_V73.py'),'homard'),
)
for file in `cat ./Batch/${version}/aTester`
do
#echo $file
- grep "VISU_EFICAS='NON'" $file > /dev/null 2>/dev/null
- rc=$?
- if [ "$rc" != "0" ]
- then
- grep INCLUDE $file | grep -v "#" | grep -v INCLUDE_MATERIAU > /dev/null 2>/dev/null
- rc=$?
- if [ "$rc" != "0" ]
- then
- cr=`./test_eficas.py $file`
- if [ "${cr}" == "" ]
- then
- echo $file >> ./Batch/${version}/bad_${passe}
- else
- nomfeuille=`basename $file`
- boncr="DEBUT CR validation : "${nomfeuille}" FIN CR validation :"${nomfeuille}
- cr=`echo $cr`
- if [ "${cr}" != "$boncr" ]
- then
- echo $file >> ./Batch/${version}/bad_${passe}
- echo $cr >>./Batch/${version}/bad_${passe}
- echo $file >>./Batch/${version}/badfile_${passe}
- else
- echo $file >> ./Batch/${version}/ok_${passe}
- fi
- fi
- else
- echo $file >> ./Batch/${version}/nt_${passe}
- fi
- else
- echo $file >> ./Batch/${version}/nt_${passe}
- fi
+ grep "VISU_EFICAS='NON'" $file > /dev/null 2>/dev/null
+ rc=$?
+ if [ "$rc" != "0" ]
+ then
+ grep INCLUDE $file | grep -v "#" | grep -v INCLUDE_MATERIAU > /dev/null 2>/dev/null
+ rc=$?
+ if [ "$rc" != "0" ]
+ then
+ cr=`./test_eficas.py $file`
+ if [ "${cr}" == "" ]
+ then
+ echo $file >> ./Batch/${version}/bad_${passe}
+ else
+ nomfeuille=`basename $file`
+ boncr="DEBUT CR validation : "${nomfeuille}" FIN CR validation :"${nomfeuille}
+ cr=`echo $cr`
+ if [ "${cr}" != "$boncr" ]
+ then
+ echo $file >> ./Batch/${version}/bad_${passe}
+ echo $cr >>./Batch/${version}/bad_${passe}
+ echo $file >>./Batch/${version}/badfile_${passe}
+ else
+ echo $file >> ./Batch/${version}/ok_${passe}
+ fi
+ fi
+ else
+ echo $file >> ./Batch/${version}/nt_${passe}
+ fi
+ else
+ echo $file >> ./Batch/${version}/nt_${passe}
+ fi
done
VALE : ( 0. 1.
5. 2. )
);
-
+
e_grm = DEFI_FONCTION ( NOM_PARA : 'TEMP'
PROL_DROIT : 'CONSTANT'
PROL_GAUCHE : 'CONSTANT'
VALE : ( 0. 1.
5. 2. )
);
-
+
al_grm = DEFI_FONCTION ( NOM_PARA : 'TEMP'
PROL_DROIT : 'CONSTANT'
PROL_GAUCHE : 'CONSTANT'
VALE : ( 0. 1.
5. 2. )
);
-
+
% Tube guide
e_tu = DEFI_FONCTION ( NOM_PARA : 'TEMP'
5. 2.
)
);
-
+
nu_cr = DEFI_FONCTION ( NOM_PARA : 'TEMP'
PROL_DROIT : 'CONSTANT'
PROL_GAUCHE : 'CONSTANT'
NU : nu_gre
ALPHA : al_gre
RHO : 7800. )
- GRAN_IRRA:( FLUX_L :fluxax1
+ GRAN_IRRA:( FLUX_L :fluxax1
FLUX_TN :fluxrd1
FONC_MULT:flux_f1
A : 0.
UN_SUR_K : 0.
UN_SUR_M : 0.
QSR_K : 1. )
- );
+ );
% Grilles de melange
FONC_MULT: flux_f1
A : 0.
S : 1.)
- LEMAITRE : ( N : 0.
+ LEMAITRE : ( N : 0.
UN_SUR_K : 0.
UN_SUR_M : 0.
- QSR_K : 2.)
+ QSR_K : 2.)
- );
+ );
%
% AFFECTATION DES MATERIAUX A CHAUD - CYCLE