2. Lancement, mode intéractif et non interactif#
La macro-commande CALC_ESSAI est lancée avec la routine python calc_essai_ops.py située dans le dossier /bibpyt/Macro. Cette routine effectue les opérations décrites ci-dessous
2.1. Récupération des concepts pré-déclarés#
Pour les onglets d’identification des efforts et de modification structurale, il est nécessaire de déclarer à l’appel de la macro-commande le nom des concepts en sortie de celle-ci, par l’utilisation du mot-clé RESU_XXX = CO(“NAME”). Les noms des concepts pré-déclarés sont transportés dans toutes les classes d’exécution de calcul de la macro-commande sous la forme d’une liste (RESU_MODIFSTRU) ou d’un dictionnaire (RESU_IDENTIFICATION) contenant les noms, et, dans le cas de l’onglet d’identification, le type de résultat, un compteur (incrémenté de 1 à chaque fois que l’utilisateur déclare un concept sortant) et la routine DeclareOut.
Pour l’onglet d’expansion de données, les résultats peuvent être déclarés intéractivement. Cependant, ils ne peuvent être utilisés dans la suite du calcul que dans le cadre d’une poursuite.
Pour l’onglet de traitement du signal, le nom des concepts sortant est fixé en dur (voir la section 5.5 ).
2.2. Lancement en mode non interactif#
Il n’est pas très pertinent de lancer la macro-commande en mode non-interactif, sauf, éventuellement, dans le cas de l’identification d’efforts, mode qui ne peut être remplacé par l’utilisation d’une autre commande. Ainsi, pour l’expansion de modèles, il vaut mieux utiliser directement la macro-commande MACRO_EXPANS. Pour la modification structurale, on peut se référer à l’enchaînement de commandes décrit dans la documentation U2.07.03. Pour le traitement du signal, on peut utiliser la macro-commande CALC_SPEC (voir U4.32.01).
Le mode non-interactif est donc utilisé pour l’identification d’efforts, et, le plus souvent, pour la validation des cas-tests associés à CALC_ESSAI.
Dans ce mode, on renvoie directement à la routine CalcEssaiTest.
2.3. Lancement en mode interactif#
Le lancement se fait dans calc_essai_ops.py dans la routine create_interactive_window. Dans cette routine :
on importe la classe CalcEssaiObjets (gestionnaire de concepts aster),
on crée un objet TabbedWindow (routine create_tab_mess_widget) : cet objet est une fenêtre à onglets (voir section 4.1 ) avec la fenêtre de message en pied,
on importe toutes les classes graphiques, appelées InterfaceXxxxxx,
on crée des instances de chaque classe graphique, qu’on affiche dans la fenêtre tabs (instance de TabbedWindow) définie plus haut,
on crée un fichier de messages qui s’affichera dans la fenêtre mess définie en pied de l’instance tabs.