Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
AUTOMATION
Appliqué à CATIA V5
Fondamentaux
VBA-V5R16 Page 1
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
Attention !
Il est confidentiel
Il ne doit pas être diffusé.
VBA-V5R16 Page 2
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
Objectifs de la formation
- Créer et modifier rapidement un script Visual Basic
- Connaître les possibilités et les limites du VB
- Utiliser les interfaces Mechanical Design et Analyse
- Créer des interfaces de dialogue élaborées en VBA
Durée
- 2 jours
Pré Requis
- Catia Mechanical Design et Analyse
- Bases en programmation
VBA-V5R16 Page 3
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
Vocabulaire
Feature : objet Catia qu’on trouve dans l’arbre (extrusion, point, meshpart, etc)
contrairement à un sous-élément (B-Rep, nœud d’un maillage, etc)
Sommaire
VBA-V5R16 Page 5
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
VBA-V5R16 Page 6
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
Visual Basic
CAA V5
VBA-V5R16 Page 7
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
Le langage Script est un langage de programmation interprété (non compilé) ne nécessitant pas de
compétences importantes en développement.
Il existe sous deux formes : VB Script et Java Script (non présenté ici). Son équivalent en V4 est le langage
IUA.
Le VB Script est une sous partie du langage VBA.
VB 6
VBA
VBScript
VBA-V5R16 Page 8
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
VBA-V5R16 Page 9
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
VBA-V5R16 Page 10
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
Enregistrement/lecture
des macros
(journalizing)
IDE du VBA
VBA-V5R16 Page 11
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
VBA-V5R16 Page 12
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
VBA-V5R16 Page 13
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
VBA-V5R16 Page 14
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
VBA-V5R16 Page 15
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
L’explorateur d’objets
1. Cliquer sur l’Explorateur
d’objets.
VBA-V5R16 Page 16
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
VBA-V5R16 Page 17
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
Les options
On trouvera dans Outils/Options/Général/Macros l’option pour changer l’éditeur de macro par
défaut, et pour charger des bibliothèques afin d’enrichir la palette d’APIs.
VBA-V5R16 Page 19
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
Pour exécuter une macro, on pourra utiliser l’un des 5 modes suivants :
VBA-V5R16 Page 20
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
VBA-V5R16 Page 21
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
VBA-V5R16 Page 22
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
Pour exécuter la macro depuis une macro « non Catia » (macro Excel par exemple), on insérera les lignes
suivantes, afin de définir l’objet racine « Catia » :
VBA-V5R16 Page 23
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
VBA-V5R16 Page 24
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
VBA-V5R16 Page 25
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
Attention ! La barre d’outil et les icônes insérées ainsi créées seront stockées dans le fichier
FrameGeneral.CATSetting uniquement sur le compte de l’utilisateur.
Pour qu’un autre utilisateur, ou une autre machine puisse utiliser cette barre d’outil, il faudra copier ce
fichier.
VBA-V5R16 Page 27
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
La notion d’Objet
Le Visual Basic est un langage basé sur la notion de Programmation Orientée Objet (POO). Cette
notion permet de travailler autour de l’objet, sur lequel on vient lire ou écrire des propriétés, ou agir
via des méthodes.
Cette notion est extrêmement simplifiée en VB (pas de pointeurs, pas d’héritage, …).
Les objets correspondent aux features Catia que l’on trouve principalement dans l’arbre de
spécifications. Exemple : un solide, un point, un maillage, etc.
On peut néanmoins créer son propre objet, via une structure ou une classe.
En VB, la notion de POO est très limité. Les possibilités du langage Visual Basic.Net (prononcé « Dot Net »)
sont beaucoup plus vastes (classes, héritage, gestion des erreurs).
VBA-V5R16 Page 28
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
VBA-V5R16 Page 30
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
Une collection est une liste d’objets. En général, le nom d’une collection se termine par « s ».
Toute collection dispose de propriétés pour accéder aux objets qu’elle contient, ainsi que de méthodes
pour ajouter des objets :
Item() : récupère un objet de la collection par son rang (de 1 à N), ou son nom.
Count() : récupère le nombre d’objets dans la collection (lecture)
Add() : créer un objet, et l’ajoute dans la collection
Exemple :
Remarque : bien qu’étant une liste d’objets, une collection est un objet.
VBA-V5R16 Page 32
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
Exemple :
VBA-V5R16 Page 34
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
Arbre d’héritage
VBA-V5R16 Page 35
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
Func(tion)
Sub(routine)
Prop(erty) Valeurs possibles de l’argument d’entrée
(pas toujours explicité)
VBA-V5R16 Page 36
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
VBA-V5R16 Page 37
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
Tableaux (1/2)
Tableaux statiques :
• La taille du tableau est défini lors du développement et n’est pas modifiable pendant le run-time
(en cours d’exécution)
• Déclaration (en début de procédure ou de fonction) : avec le mot-clé Dim
• Exemples :
Dim MyArray(9, 9) As Integer ‘Déclare un tableau statique d’entiers à 10 lignes et 10 colonnes
Dim MyArray(5 To 14, 1 To 10) As Boolean ‘Déclare un tableau statique de booléens à 10 lignes dont les
indices vont de 5 à 14 et à 10 colonnes dont les indices vont de 1 à 10
Dim MyArray(10) ou Dim MyArray(10) As Variant ‘Déclare un vecteur de variants à 11 composantes
Tableaux dynamiques :
• La taille du tableau est modifiable pendant le run-time (en cours d’exécution)
• Déclaration (en début de procédure ou de fonction) : avec le mot-clé Dim
• Modification de la taille du tableau (dans une boucle par exemple) : avec le mot-clé Redim
• Exemples :
Dim MyArray() As Integer ‘Déclare un tableau dynamique d’entiers
Dim MyArray() As Boolean ‘Déclare un tableau dynamique de booléens
Dim MyArray() ou Dim MyArray() As Variant ‘Déclare un tableau dynamique de variants
Redim MyArray(1 To 10, 9) ‘Redimensionne le tableau MyArray pour qu’il possède 10 lignes d’indices 1
à 10 et 10 colonnes d’indices 0 à 9. Ne pas retyper le tableau.
Tableaux (2/2)
Par défaut, la numérotation des indices commence à 0. En VBA uniquement, elle peut être égale à 1 en
utilisant le mot-clé Option Base (tous les tableaux sont impactés). On peut également utiliser le mot-clé
To pour définir les bornes min et max de chaque tableau.
Le mot-clé Preserve permet de conserver le contenu d’un tableau lors de son redimensionnement.
Cependant, seul la dernière dimension peut être modifiée en utilisant le mot-clé Preserve.
Dim MyArray()
Redim MyArray(5, 10)
Redim Preserve MyArray(5, 11) ‘le tableau prend une colonne de plus en conservant les données
des 11 premières colonnes
Compléments :
VBA-V5R16 Page 39
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
Sub-routines et fonctions
Par défaut, une sub-routine appelée CATMain sans arguments est créée (VBScript). De plus, il est
conseillé, voir obligatoire, de structurer son programme en fonctions et sub-routines.
Une fonction peut retourner une valeur tandis que la sub-routine ne renvoie rien. Les deux peuvent avoir
éventuellement des arguments en entrée.
Pour définir la valeur retournée par une fonction dans son code
propre, on utilise une variable du même nom :
taille = Len(iPath)
buffer = split(iPath,"/")
pos = Len( buffer(Ubound (buffer) )
ExtractFolderPath = Left(iPath , taille - pos )
VBA-V5R16 Page 41
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
Sans gestion d’erreur personnalisée
Gestion des erreurs (2/2)
On Error Resume Next
Set partDocument1 = CATIA.ActiveDocument
if Err.Number <> 0 Then ‘ou if err<>0 Then
msgbox "erreur : impossible de récupérer le
document actif." & vbLF & "Assurez-vous qu’un
document part soit actif avant de lancer la macro."
err.clear Avec gestion d’erreur personnalisée
Exit Sub
end if
On Error GoTo 0 ‘fin du traitement de l’erreur
…
VBA-V5R16 Page 42
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
Recommandations de codage
Il est important de respecter certaines règles standards de codage afin de rendre le code plus lisible, et
donc plus facile à maintenir.
Les noms des sub-routines et des fonctions doivent être des verbes ou des phrases verbales, avec des
majuscules au début de chaque mot, comme : ExecuteProcessAndUpdate()
Les variables pourront utiliser un préfixe en minuscule indiquant le type : aTableau, sChaîne, etc.
Les constantes doivent être toutes en majuscules, avec «_» comme séparateur, comme : MAX_VALUE.
Chaque fonction devra être précédé d’un en-tête (en commentaires) avec : nom (explicite) de la fonction,
entrées avec valeurs possibles, sorties. La sub-routine principale inclura en plus le nom du développeur,
la date, la version ainsi que la tâche réalisée.
Les blocs (if…then…else, for…to…next, etc.) imbriqués les uns dans les autres devront être tabulés.
VBA-V5R16 Page 43
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
VBA-V5R16 Page 44
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
my_path = "C:\VB-Exemples\Input.txt"
Set oFile = oFileSys.GetFile( my_path )
Do Until oStream.AtEndOfStream
chaine = oStream.ReadLine
msgbox chaine
Loop
oStream.Close
VBA-V5R16 Page 45
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
iStream.Close
VBA-V5R16 Page 46
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
chaine = "100;200"
Conversions de chaînes :
Chaîne en valeur numérique : double =CDbl(chaîne) , ou : entier = CInt(chaîne)
Valeur numérique en chaîne : chaîne = CStr(double)
VBA-V5R16 Page 48
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
Sélection
Afin d’utiliser certaines fonctions ou méthodes VB, il est parfois demandé d’utiliser un objet de type
Selection. On utilisera alors la propriété Selection() sur le document.
En outre, nous pourrons notamment utiliser la méthode SelectElement<i> qui permet de récupérer un objet
sélectionné à la souris. Exemple :
VBA-V5R16 Page 49
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
Propriétés graphiques
Les propriétés d’un objet, c’est-à-dire les options accessibles par menu contextuel sur un objet, tels que
le Show/NoShow, la couleur, le type de trait/point, etc, sont accessibles via VisProperties.
Il faut d’abord récupérer l’élément sous forme d’une sélection, et ensuite utiliser la sub-routine
VisProperties.
Sur l’objet de propriété, on utilisera alors SetShow, GetVisibleColor, etc ainsi qu’un type énuméré
pour valuer l’état. Attention, ce sont des sub-routines, donc pas de parenthèses.
VBA-V5R16 Page 50
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
VBA-V5R16 Page 51
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
VBA-V5R16 Page 52
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
Les publications
La publication est l’élément le plus stable qui soit, car on n’utilise plus l’objet lui-même mais un lien vers son
nom. Ainsi, si l’objet change mais son nom reste le même, le lien reste stable.
La méthode à utiliser pour créer une publication est :
1. Récupérer le set de publications (collection) via Publications sur l’objet Product d’un document Part
ou Product,
2. Créer la publication avec Add en donnant un nom comme argument,
3. Récupérer l’élément à publier via une référence (avec CreateReferenceFrom…),
4. Lier la référence à la publication avec SetDirect sur la collection de publications.
VBA-V5R16 Page 53
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
Msgbox ParamList.item(1).Parent.Parent.name
Pad1SubList .Item(1).ValuateFromString("300mm")
VBA-V5R16 Page 54
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
6- Développement en VBA
L’éditeur VBA
Les options
Aide au développement
Créer un module
Importer des données
Exporter des données
Exécuter une macro depuis VBA
Créer une procédure
Le typage des variables
Portée des variables, des procédures
Utilisation du debugger Windows only
Importer une bibliothèque externe
Liens avec Excel
VBA-V5R16 Page 55
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
VBA-V5R16 Page 56
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
VBA-V5R16 Page 57
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
VBA-V5R16 Page 58
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
VBA-V5R16 Page 59
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
VBA-V5R16 Page 60
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
Les options
Dans Tools/Options, nous pouvons définir les préférences utilisateur :
VBA-V5R16 Page 61
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
Taper le nom de
l’objet à
chercher
prototype
Liste des méthodes et
propriétés.
VBA-V5R16 Page 62
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
VBA-V5R16 Page 63
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
Créer un module
Dans l’éditeur VBA, on travail dans un projet dans lequel on vient créer :
les modules : ils contiennent les sources du programme. Ils servent à organiser le projet.
Les user-forms : ce sont les boites de dialogues. Les sources associées aux boutons (évènements, ou
call-back) y sont également intégrées.
Toutes les sources (modules, user-forms) sont stockés dans un seul et même fichier :le catvba.
2. Pour supprimer le
module, clic droit
sur projet +
Remove Module.
VBA-V5R16 Page 64
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
VBA-V5R16 Page 65
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
VBA-V5R16 Page 66
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
ATTENTION ! L’exécution de la
macro ne lance pas la sauvegarde. Il
faut penser à sauvegarder le projet
avant chaque exécution.
VBA-V5R16 Faire exercice 5 Page 67
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
Déclaration procédure :
[Public | Private ] [Static] Function name [(arglist)] [As type]
Déclaration argument :
[Optional] [ByVal | ByRef] [ParamArray] varname[( )] [As type] [= defaultvalue]
En VBA, il est possible de spécifier le passage des variables par valeur (ByVal : contenu de la variable est
copié, donc variable d’origine inchangée ) ou par référence (ByRef : variable passée directement)
VBA-V5R16 Page 68
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
Si on ne « type » pas une variable, l’interpréteur utilisera un type par défaut : le Variant. Il alloue
alors 16 octets, qui seront partiellement utilisés, selon le contenu de la variable. A éviter.
VBA-V5R16 Page 69
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
De manière générale, lorsqu’un objet (classe) propose une méthode ou une propriété qui manipule un tableau
de « Variant » (CATSafeArrayvariant), il faudra typer cet objet en « Variant ». On s’aidera de la
documentation ou de l’explorateur d’objets pour vérifier.
VBA-V5R16 Page 70
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
Pour corriger l’erreur, il faut voir la signature de la méthode (dans la documentation) et vérifier le type de
l’argument. On devra utiliser celui indiqué, ou un type hérité.
Exemple : On utilise la méthode Part(). Si l’objet qui est retourné est typé en PartDocument, on aura une
erreur d’exécution Mismatch. On doit utiliser le type Part, un type hérité (Object), ou bien Variant (à éviter).
Portée de module : variable déclarée dans un module (simple, userform ou classe) avec Dim,
Const ou Private. Visible uniquement dans le module.
Portée de projet : variable déclarée dans un module, mais avec le mot clef « Public ». Visible
dans tous les modules du projet. Ce sont des variables globales.
Si la variable est précédée du mot clef Const, on interdit le changement de valeur de cette variable.
Ce mot clef Const peut également être spécifié pour un argument de procédure.
De la même manière, on utilisera les mots clés Private et Public dans la déclaration des procédures et
des fonctions pour définir leur portée.
‘ Module1 ‘ Module2
Private strPriv As String Public Sub proc ()
Public strPub As String Msgbox strPub ‘ -> 10
Private Const MAX_VALUE = 500 End Sub
Sub CATMain ()
strPub = 10
VBA-V5R16 Dim myObj = … Page 72
Copyright Digital Product Simulation 2007 End Sub
Automation : formation basique Cours
Digital Product Simulation
Cliquer sur Reset pour arrêter le debuggage et La fonction Compile dans le menu Debug
l’exécution. sert à lancer le correcteur syntaxique sans
exécuter le projet.
Ce correcteur ne trouvera que les erreurs de
type : oubli de fermeture de parenthèse, de
guillemets, utilisation d’une fonction
inconnue, etc.
VBA-V5R16 Page 73
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
Fenêtres de debug.
Debug/Exécution Arrêt Watch : contenu des variables.
( F5 ) mode
Immediate : utilisé avec Debug.print
Debug
Steps in/over/out : pour définir si le débuggeur
doit court-circuiter les blocs (if then else, etc)
ou bien y passer (step in)
VBA-V5R16 Page 74
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
Taper F8 pour continuer l’exécution pas à pas. Taper F5 pour passer d’un point d’arrêt à un autre.
En mode Debug, on peut modifier le code et ensuite continuer le défilement du debug (sauf modification d’une
déclaration de variable ou d’objet).
On pourra également faire un glisser-déposer du point de lecture (ligne en jaune) vers une autre ligne de la
procédure en cours de lecture, en amont ou en aval du point d’arrêt.
Pour connaître le contenu d’une variable de type numérique ou chaîne, placer le pointeur de souris dessus.
Pour tout autre type, cliquer droit dessus et Add/Watch, puis visualiser son contenu dans la fenêtre Watches.
VBA-V5R16 Page 76
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
Dans l’exemple ci-dessous, nous souhaitons utiliser les fonctions permettant d’insérer un bouton « réduire »
(ou minimiser) dans une User-Form. La syntaxe est :
VBA-V5R16 Page 77
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
Liens avec Excel : Créer des objets Excel depuis Catia (1/2)
On peut également utiliser les objets Excel dans une application VB Catia pour créer un document Excel, des
feuilles et des graphiques.
VBA-V5R16 Page 79
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
VBA-V5R16 Page 80
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
VBA-V5R16 Page 81
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
VBA-V5R16 Page 82
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
Griser/Dégriser :
nomObjet.Enabled = False/True
Modifier le contenu :
nomObjet.Value = 10
Afficher/Masquer :
nomObjet.Show, nomObjet.Hide
VBA-V5R16 Page 83
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
VBA-V5R16 Page 84
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
Pour accéder à un objet de dialogue (bouton, case à cocher, etc) à partir d’un module, il faudra
utiliser la syntaxe NomUserForm.NomObjet.
L’événement UserForm.initialize() est « lue » à la création et donc avant l’affichage de la User-Form
: c’est son constructeur. On y définira donc toutes les propriétés des objets de dialogue
(griser/dégriser, insertion d’image, etc). Choisir « UserForm » dans le menu déroulant de gauche.
Ne pas hésiter à utiliser le débuggeur de l’IDE VBA, même pour une application
Unix.
Les applications avec des Interfaces Homme Machine évoluées ne sont possibles
qu’en VBA, sur Windows uniquement.
VBA-V5R16 Page 86
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
FAQ (1/5)
Comment compiler mon application pour en faire un .EXE ?
Il faut exporter les modules puis les importer un à un (attention aux User Forms) dans un nouveau projet dans
MS Visual Basic 6.0 par exemple, puis utiliser le compilateur.
VBA-V5R16 Page 87
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
FAQ (2/5)
Comment puis-je réaliser une temporisation ?
Voici un exemple de sub-routine de temporisation. Elles sont très utiles notamment pour laisser le temps à
Catia de finir un processus avant d’en commencer un autre.
End Sub
VBA-V5R16 Page 88
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
FAQ (3/5)
Quel langage dois-je utiliser : le VBS, le VBA, le CAA ?
Le langage VBS est plus souple et plus indiqué pour des petits programmes (temps de développement court).
Pour des projets de plus grande envergure, avec des IHM complexes, on utilisera plutôt le VBA, voir le CAA V5
(basé sur le C++) si le VB ne propose pas l’API souhaitée. Si l’application est complexe et doit obligatoirement
être portée sur Unix, on utilisera plutôt le CAA.
VBA-V5R16 Page 89
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
FAQ (4/5)
Comment accéder à la topologie en VB ?
Il n’existe que deux moyens pour accéder aux sous éléments (Breps) d’une géométrie. Le premier est
l’utilisation de SelectElement (sélection souris). Le second consiste à utiliser la méthode Search sur l’objet
Selection (enregistrer la commande Recherche dans le menu Edition de Catia pour connaître la syntaxe exacte) :
selection1.Add pad1
selection1.Search "Topology.CGMFace,sel » ‘ Attention : dépendant de la langue de Catia !
VBA-V5R16 Page 90
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
FAQ (5/5)
Comment connaître les interfaces VB qui sont modifiées entre deux
releases de Catia ?
Dans la documentation VB Catia, voir dans la rubrique « What’s New » : nouvelles classes, méthodes et
propriétés modifiées.
VBA-V5R16 Page 91
Copyright Digital Product Simulation 2007
Automation : formation basique Cours
Digital Product Simulation
Les informations figurant dans ce manuel sont fournies à titre indicatif uniquement,
elles n'engagent en aucune manière DIGITAL PRODUCT SIMULATION.
DIGITAL PRODUCT SIMULATION n'assume aucune responsabilité quant aux
erreurs ou inexactitudes susceptibles d'apparaître dans ce manuel.
VBA-V5R16 Page 92
Copyright Digital Product Simulation 2007