Andrea Amedei
Guest
Bonjour.
C'est quelques jours que je me tape la tête sans venir à la tête. Depuis Je dois souvent effectuer la fonctionnalité solide que vous voyez dans l'image ci-dessous sur différents trous, je pensais créer une macro qui a automatisé ce processus.
la caractéristique solide à construire est un "prisme" qui a comme un croquis de base la projection d'un trou et un cercle plus grand qui a un diamètre n fois plus grand que celui projeté (n paramètre à définir). La hauteur d'extrusion est également un paramètre.
Pour ce faire, j'ai créé un formulaire utilisateur que vous pouvez voir dans la figure ci-dessous. l'utilisateur doit utiliser les 3 boutons en séquence (sélection au sol, sélection du bord du trou, création d'un solide) et les deux boîtes de texte du rapport d/d et la hauteur d'extrusion du profil.
J'admets que je connais assez bien la programmation vba sur Excel, mais ils sont vraiment au début avec Catia. en ce moment ce que j'ai fait est le suivant:
bouton "sélectionner la surface"
privé sous select_surface_bouton_click_click()
dim mysélection
dim myarray(0) comme visage
dim strre retour en chaîne
dim part1 comme partie
dim partiedocument1 comme document partiel
dim myhybrides en tant qu'hybrides
définir myselection = catia.activedocument.selection
Mysélection.
Cache-moi.
strre retour = myselection.sélectement2(array("face"), "choisir un visage:", false)
si strre retour = "normal" alors
'redim conserve myarray(ubound(myarray) + 1)
définir myarray(ugound(myarray)) = myselection.item2(1).value
fin si
textbox1.text = myarray(0).name
- Oui.
fin sous
bouton "choisir le trou de bord"
privé sous select_edge_bouton_click_click()
dim mysélection
dim myarray(0) comme bord
dim strre retour en chaîne
dim part1 comme partie
dim partiedocument1 comme document partiel
définir myselection = catia.activedocument.selection
Mysélection.
Cache-moi.
strreturn = myselection.sélectionnement2(array("edge"), "choisir un bord:", false)
si strre retour = "normal" alors
'redim conserve myarray(ubound(myarray) + 1)
définir myarray(ugound(myarray)) = myselection.item2(1).value
fin si
textbox2.text = myarray(0).name
- Oui.
fin sousà ce point, dans les zones de texte plus longues, le nom(?) de la surface et du bord sélectionnés apparaît. appuyant sur "créer solide" je voudrais que le logiciel construise:
1. un plan de croquis sur la surface sélectionnée (en utilisant le nom dans le formulaire utilisateur? )
2. du bord du trou sélectionné dérive le diamètre et son centre
3. prend le bord du trou et le projette sur ce plancher
4. crée un nouveau cercle avec le même centre du bord projeté et le même diamètre d=n*d
5. sort du croquis
6. hauteur d'extrusion définie en forme d'utilisateur
7. désactive tout et nettoie toute la forme utilisateur pour une nouvelle opération
J'espère que quelqu'un peut m'aider, même avec le macro record, je ne comprends pas comment fonctionne le programme.
salutations,
Andrea
C'est quelques jours que je me tape la tête sans venir à la tête. Depuis Je dois souvent effectuer la fonctionnalité solide que vous voyez dans l'image ci-dessous sur différents trous, je pensais créer une macro qui a automatisé ce processus.
la caractéristique solide à construire est un "prisme" qui a comme un croquis de base la projection d'un trou et un cercle plus grand qui a un diamètre n fois plus grand que celui projeté (n paramètre à définir). La hauteur d'extrusion est également un paramètre.


bouton "sélectionner la surface"
privé sous select_surface_bouton_click_click()
dim mysélection
dim myarray(0) comme visage
dim strre retour en chaîne
dim part1 comme partie
dim partiedocument1 comme document partiel
dim myhybrides en tant qu'hybrides
définir myselection = catia.activedocument.selection
Mysélection.
Cache-moi.
strre retour = myselection.sélectement2(array("face"), "choisir un visage:", false)
si strre retour = "normal" alors
'redim conserve myarray(ubound(myarray) + 1)
définir myarray(ugound(myarray)) = myselection.item2(1).value
fin si
textbox1.text = myarray(0).name
- Oui.
fin sous
bouton "choisir le trou de bord"
privé sous select_edge_bouton_click_click()
dim mysélection
dim myarray(0) comme bord
dim strre retour en chaîne
dim part1 comme partie
dim partiedocument1 comme document partiel
définir myselection = catia.activedocument.selection
Mysélection.
Cache-moi.
strreturn = myselection.sélectionnement2(array("edge"), "choisir un bord:", false)
si strre retour = "normal" alors
'redim conserve myarray(ubound(myarray) + 1)
définir myarray(ugound(myarray)) = myselection.item2(1).value
fin si
textbox2.text = myarray(0).name
- Oui.
fin sousà ce point, dans les zones de texte plus longues, le nom(?) de la surface et du bord sélectionnés apparaît. appuyant sur "créer solide" je voudrais que le logiciel construise:
1. un plan de croquis sur la surface sélectionnée (en utilisant le nom dans le formulaire utilisateur? )
2. du bord du trou sélectionné dérive le diamètre et son centre
3. prend le bord du trou et le projette sur ce plancher
4. crée un nouveau cercle avec le même centre du bord projeté et le même diamètre d=n*d
5. sort du croquis
6. hauteur d'extrusion définie en forme d'utilisateur
7. désactive tout et nettoie toute la forme utilisateur pour une nouvelle opération
J'espère que quelqu'un peut m'aider, même avec le macro record, je ne comprends pas comment fonctionne le programme.
salutations,
Andrea