AUTOMATION VBA - CATIA







AUTOMATION





  1. Sommaire

1.    Sommaire   
2.    Objectifs   
3.    Préliminaires   
4.    Ecriture d'une macro commande   
5.    Personnalisation d'une barre d'outils   
6.    Conclusions   

  1. Objectifs

Ce support va vous permettre d’acquérir les notions de base à l'utilisation de macros commandes dans CATIA.
Ce support est une découverte de VBA, il devrait permettre aux débutants de se lancer dans ce langage de programmation.
Le premier exercice permet d’acquérir quelques connaissances nécessaires à la création d'une macro sans interface graphique.
Le second exercice est basé sur la réalisation d’une interface graphique associée à une macro commande.
Le troisième exercice va vous permettre de créer une barre d'outils et d'associer un bouton de cette barre d'outils à une macro commande.


  1. Préliminaires

CATIA, en environnement Windows, offre la possibilité de programmer des macros commandes dans 3 langages, CATScript, MS VBscript et MS VBA.
CATScript et MS VBScript utilisent des éditeurs internes de type Notepad, donc leur utilisation est assez rébarbative, ils ne seront pas abordés ici.
Par le menu Outils, cliquez Options…et l'onglet Macros
Figure 1
Vous pouvez choisir l'éditeur des 2 langages que nous ne traiterons pas.
Pour MS VBA il n'est pas possible de choisir l'éditeur, ce qui est normal puisque ce sera celui défini par Microsoft.
Cet éditeur offre le gros avantage d'avoir une interface graphique contrairement au Notepad.
De plus MS VBA est un outil de développement standard dans les logiciels Windows, vous pourrez donc utiliser votre investissement pour son apprentissage dans différents logiciels tels Word, Excel, AutoCAD …
Si vous connaissez VB, votre travail avec MS VBA en sera grandement facilité.
Catia met à disposition un enregistreur de macros commandes, mais cette possibilité a ses limites.
Attention, VBA ne permet pas, à l'heure actuelle de tout faire. Mais ceci évolue de version en version et il est déjà possible de faire de très belles choses avec VBA.
Ce document a été préparé avec Catia V5R14 en environnement Win XP.
  1. Ecriture d'une macro commande

Par le menu Outils, cliquez Macro, puis Macros…
Cliquez Bibliothèques de macros
Choisissez le Type de bibliothèque: Projets VBA
Cliquez Créer nouvelle bibliothèque…
Donnez le nom à votre bibliothèque Monprojet1.catvba et cliquez le bouton OK
Fermez la boîte de dialogue des Bibliothèques de macros.
Figure 2
Vous disposez maintenant d'un fichier Monprojet1.catvba prêt à recevoir vos macros commandes.




Dans la boîte de dialogue des Macros, cliquez Créer…
Validez le nom de la macro Module1.
Figure 3
Figure 4
Cliquer sur le bouton Editer...
Vous êtes alors dans l'éditeur VBA, ou plusieurs fenêtres sont ouvertes (Figure 5).
Dans la fenêtre Explorateur de projets figure le nom de votre macro.
Dans la fenêtre Code, figure le code associé à cette macro, ce code est vide pour le moment, seuls figurent les lignes de début (Sub) et de fin (End sub) qui définissent le début et la fin de votre procédure ou macro.
A noter que toute macro à exécuter depuis Catia doit lancer une procédure dénommée CATMain.
La Fenêtre Propriétés se trouve en bas à gauche.
Figure 5
Il faut maintenant écrire le code de la macro entre  ces 2 instructions. Ce sera simplement l'affichage d'une boîte de dialogue avec un message.
       
Figure 6
Positionnez votre curseur dans cette zone.
Tapez msgbox "Ma première macro"
Pour exécuter la macro tapez sur F5
La macro s'exécute et une boîte de dialogue affiche votre message dans la fenêtre Catia.
Cliquer sur le bouton OK



Nous allons maintenant écrire une macro permettant de créer un nouveau document de type Part, mais la réaction du logiciel sera fonction des réglages que vous avez fait dans vos options. Si vous avez coché Saisie clavier, Catia demande le nom de la nouvelle pièce, cette possibilité est aussi vraie pour une création manuelle.
Regardez comment cette option est réglée et décochez là si nécessaire.
Figure 7
Saisissez le code de la macro.
Pour exécuter la macro tapez sur F5
Figure 8
La première ligne est une déclaration d'objet, notez qu'en tapant le "as" une boîte de dialogue vous permet de choisir le type de l'objet que vous déclarez.
La seconde ligne correspond à la création de l'objet , notez qu'en tapant le "."  qui suit le mot CATIA ou le mot Documents, une boîte de dialogue vous permet de choisir la méthode ou la propriété de ce nouvel objet. Ici vous allez ajouter un nouveau document de type CATPart. Attention aux majuscules/minuscules pour le mot Part
Le document actif de Catia correspond alors au nouveau document que vous venez de créer, la Part comprend les éléments définis au niveau des options de Catia, ici les 3 Plans, le Repère absolu et le Set géométrique. Voir le document sur le réglage des options.
Figure 9
Saisissez le code.
Le code pour créer un document de type Drawing serait.
Figure 10
Revenez au code de création d'un document de type PartDocument.
Vous allez maintenant ajouter du code à la suite de celui déjà saisi afin de créer une esquisse dans le plan XY, dessiner un cercle de centre 0,0 rayon 50, et extruder cette esquisse de 100 en Z>0.
Toute ligne du programme commençant par une apostrophe sera une ligne de commentaires, ces lignes sont à écrire afin de permettre une relecture du programme.
Saisissez le code de la macro.
Exécuter la macro en tapant sur F5
Figure 11
Enregistrez votre projet VBA.
Cette macro commande est statique, elle ne permet pas de choisir les valeurs du rayon du cercle ou la hauteur de l'extrusion, vous allez l'améliorer en créant un boîte de dialogue où vous pourrez rentrer cers 2 valeurs, le volume sera alors construit en fonction de ces valeurs.
Dans l'éditeur VBA, activez la fenêtre Explorateur de projets
Faites un clic droit et insérez une UserForm
Donnez-lui le nom Feuille_saisie_parametres
       
Figure 12

Figure 13
A l'aide des outils de la Boîte à outils, ajoutez des Contrôles, 2 Intitulés, 2 Zones de texte et 2 Boutons de commande.
Depuis la fenêtre Propriétés, modifiez la propriété Caption de chaque contrôle et aussi de la feuille afin de respecter la Figure 13
Observez le contenu de la fenêtre Propriétés pour le contrôle Label1 (Intitulé1).
Figure 14
Depuis la fenêtre Propriétés, modifiez la propriété Name de chaque contrôle Intitulé en leur donnant les propriétés Saisie_rayon et Saisie_hauteur.
Idem avec les 2 boutons qui auront pour noms Bouton_Ok et Bouton_annuler.
Figure 15
Maintenant il va falloir afficher cette boîte de dialogue et écrire le code associé à sa gestion.
L'affichage de cette boîte de dialogue se fera en début de programme, juste après les déclarations.
Modifiez le code de votre macro suivant la Figure 16.
Exécuter la macro en tapant sur F5
Fermez cette boîte avec la croix en haut à droite.
Figure 16
Il faut écrire le code des boutons Ok et Annuler.
Dans l'éditeur VBA, activez la fenêtre Explorateur de projets
Faites un double clic sur Feuille_saisie_parametres, puis un double clic sur le bouton Annuler
Tapez alors le code défini Figure 17.
Figure 17
A quoi sert la ligne creation = "non".
Si l'utilisateur clique sur le bouton Annuler, le programme ne doit rien faire, si au contraire il clique sur le bouton Ok, la création du cylindre doit se faire. Ces 2 possibilités seront gérées par cette variable. Mais l'affectation d'une valeur à cette variable se fait dans le code de la feuille et ne sera pas visible depuis le code de la macro.
Afin de pouvoir voir cette variable depuis tout le projet, il va falloir la déclarer comme variable de type Public. Pour ceci il peut être intéressant d'ajouter un module au projet, de lui donner le nom Module_des_variables et d'y déclarer toutes les variables utilisées par plusieurs module ou feuilles.
Attention à éviter les caractères particuliers dans les noms de variables, évitez les accents par exemple.
Dans l'éditeur VBA, activez la fenêtre Explorateur de projets
Faites un clic droit et insérez un Module
Donnez-lui le nom Module_des_variables
Déclarez la variable creation

Figure 18
Ainsi déclarée, elle sera visible depuis tout le projet.
Dans l'éditeur VBA, activez la fenêtre Explorateur de projets
Faites un double clic droit sur Feuille_saisie_parametres , puis un double clic sur le bouton Ok
Tapez alors le code défini Figure 19.
Figure 19
Modifiez le code de votre macro suivant la Figure 20.
Figure 20
Vous avez ajouté un test en sortie de la boîte de dialogue, si la valeur renvoyée par la variable creation est égale à oui, le cylindre est créé, sinon un message s'affiche, avec quelques détails dans la fenêtre, comme le titre et les boutons de celle-ci.
Notez l'enchaînement If ….then, Else, End if
A ce niveau, le cylindre possèdera toujours un rayon de 50 et une hauteur de 100. Il faut gérer ces 2 paramètres en fonction des valeurs rentrées dans la boîte de dialogue.
Pour ceci nous allons créer 2 variables, rayon et hauteur, déclarées dans le module Module_des_variables.
Figure 21
Déclarez ces 2 variables.
Un clic sur le bouton Ok de la boîte de dialogue définie sur la Figure 13 doit permettre de lire les valeurs de ces 2 variables.
Il faut donc modifier le code associé au bouton Ok.
Figure 22
Modifiez ce code comme défini sur la Figure 22.
Le code de création du cylindre doit être modifié afin de tenir compte des valeurs des 2 variables.
Modifiez ce code comme défini sur la Figure 23.
Figure 23
Testez votre programme et enregistrez-le.

  1. Personnalisation d'une barre d'outils

Maintenant nous allons ajouter un bouton dans une barre d'outils de Catia afin d'exécuter cette macro plus facilement.
Créez un nouveau document de type Part afin d'ouvrir l'atelier Part Design.

Depuis le menu Outils de Catia, cliquez sur Personnaliser…
Activez l'onglet Barres d'outils
Cliquez le bouton Nouvelle et donnez un nom à votre barre d'outils.
Figure 24
Notez que cette nouvelle barre d'outils fait partie de l'atelier Part Design, Figure 25, qui était l'atelier courant au moment de sa création, donc attention de ne pas la mettre dans un atelier que vous ne souhaitez pas, vous pouvez aussi la créer quand aucun atelier est ouvert ce qui la rendra disponible en permanence.
Figure 25
Activez l'onglet Commandes et la catégorie Macros
 
Figure 26
Il est possible de personnaliser l'icône du bouton associé à la macro.
Cliquez sur Affiche les propriétés
Puis cliquez sur le bouton Icône…
Choisissez alors votre icône, par exemple dans la page 22/112, Figure 27
Figure 27
Glissez le module Module1 dans votre barre d'outils, Figure 28
Figure 28
Maintenant vous pouvez changer d'atelier, vous verrez que votre barre d'outil va apparaître seulement dans l'atelier Part et qu'un clic dessus va vous créer une nouvelle pièce qui sera constituée d'un cylindre avec les caractéristiques de rayon et hauteur que vous aurez saisies.
  1. Conclusions

Ce support de cours, sans aucune ambition, vous a permis de découvrir les outils de personnalisation de votre environnement favori de travail.
Avec quelques ligne de programmation et un peu de patience il est possible de réduire sensiblement le temps de travail sur des tâches répétitives.
Et puis tout ceci est passionnant, alors bon courage pour aller plus loin.

Commentaires