Une spirale carrée avec une macro Catia VB.Net

Au détour du sondage, un abonné du blog m’a soulevé une question.

”Comment faire une spirale carrée sur Catia ?”

Une spirale carrée, c’est ça:

Spirale Carrée

 

Je ne sais pas pourquoi mais cela m’a travaillé un petit peu et je me suis pris au jeu.

Alors, Comment faire ?
Il n’y a pas, à priori, de fonction permettant, même de façon détournée, de réaliser un tracé de droites successives et perpendiculaires  formant  un escargot.

La construction étant logiquement inscrite dans une boucle, je suis donc parti sur une macro.

 

Une macro Vb.Net pour tracer une spirale carrée sur Catia V5

 

Les macros nous permettent d’automatiser, entre autre, la création d’entités, ici filaires, que nous aurions dû faire manuellement pour atteindre ce résultat.
Il y a bien sûr de nombreuses stratégies permettant d’arriver au but.
J’aurais pu par exemple tracer les diagonales et répartir des points qu’il aurait fallu relier.

J’ai opté pour un tracé successif de segments perpendiculaires et de longueurs croissantes et plutôt que de me positionner sur un des plans de départ et à l’origine du modèle j’ai opté pour un cas plus général qui s’appuie sur des éléments de référence dans une Catpart préparée à cet effet.

 

La vidéo de l’article

 

 

Préparation de la CatPart

Catia V5 - Spirale carrée - préparation modèle

Pour utiliser la macro, voilà comment doit être préparée la Catpart.
Nous devons y trouver un set géométrique nommé “Ref” ainsi que les trois éléments suivants :

  • Un plan servant de support pour la spirale nommé “PlanPourSpirale
  • Un point sur ce plan nommé “PointDepartSpirale” (début de la spirale en son centre)
  • Une ligne qui n’est pas obligatoirement liée au point précédent nommé “DirectiondepartSpirale” pour donner un angle global à la spirale par rapport au repère global de la part.

Il est très important de respecter les dénominations de ces éléments car la macro ira les rechercher par leur nom.

Comment ça marche ?

Dans le programme, il y a aussi des valeurs supplémentaires pour caractériser la spirale.
Nous avons:

Catia V5 - Spirale Carrée - VB.Net interface

  • Le nombre de tours de la spirale (par défaut 5 mais on peut changer)
  • L’écartement entre chaque ligne (par défaut 10 mm). Cela correspond à l’accroissement de la longueur des lignes consécutives.
  • La longueur initiale (par défaut 12mm). C’est la longueur du premier segment au centre de la spirale.

Dans les grandes lignes, c’est assez simple.
Si nous le faisions à la main nous ferions un premier segment partant du point “PointDepartSpirale” d’une longueur de 12mm (longueur initiale) dans la direction donnée par la “DirectiondepartSpirale” puis à partir de l’extrémité de notre premier segment nous construirions une nouvelle ligne perpendiculaire en appui sur le plan support “PlanPourSpirale” d’une longueur égale à la précédente + 10 mm (écartement) et ainsi de suite…

 

Catia V5 - Spirale Carrée - VB.Net

 

Le code

J’ai décidé de faire ce code en VB.Net pour en faire un petit exécutable (Windows form) en dehors de Catia.
J’utilise ici Visual Basic 2010 express (gratuit).
J’importe au préalable les DLL de catia dans projet/ajouter une référence puis l’onglet Com (voir cet article)

Les trois champs Textbox sont pré-remplis avec les valeurs 5,10 et 12. Il ont également des noms explicites

Pour que cela fonctionne, il faut que Catia soit déjà lancé et qu’il y ait bien les éléments présentés plus haut dans l’article.

Voici le code au complet.
J’ai beaucoup commenté de façon à vous y retrouver.

En haut, on trouve l’import des DLL.
En dessous se trouve la Class correspondant à Form1=la boite de dialogue renfermant les boutons.

La première subroutine est le click sur le bouton « Exectuter » qui construit véritablement la spirale.
La deuxième (en bas) correspond au click sur le bouton “quitter” qui a pour effet de fermer la boite Form1.

En pratique, j’ai fait dans Catia un enregistrement de macro en Catvba (VB6) sur quelques créations d’éléments filaires pour avoir la syntaxe et la trame du code de base.
J’ai ensuite fait un copié-collé du code VB6 dans Visual Basic 2010 et modifié un peu le code pour en faire du VB.Net.

 

 

Conclusion

Voici un nouvel exemple de construction à partir d’une macro en VB.Net.
Catia utilise nativement VB6 mais il est possible d’utiliser les DLL de Catia à travers VB.Net Express pour réaliser des interfaces graphiques sympas à l’extérieur de Catia. Il faut alors un peu adapter le code.

J’espère que cela vous inspirera pour vous lancer dans la folle aventure de la programmation sur Catia V5.
En attendant, si vous connaissez des gens passionnés par ce genre de démarche, partagez l’article avec eux ; )

A bientôt

 

 

Recherches utilisées pour trouver cet article :CAO macro, catia et 116, exemple de macro en catiav5, faire une spirale sur catia, macro catia, ne pas tracer sur le cadrillage catia v5, spirale carre code

About the Author: PSX59

Technicien dans l'âme et résolument passionné d'aviation, je vous invite à découvrir la CAO sur des thèmes variés avec un seul but ... Créer !

Leave A Reply

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Show Buttons
Hide Buttons