Aller au contenu

besoin de créer une flèche en vba


Messages recommandés

Posté(e)

Salut à tous,

 

Voila en fait dans un petit programme que je suis entrain de faire (hey oui toujours le même pour ceux qui me connaissent) je souhaite créer un pointeur (style une flèche) qui indiquera le trou slécetionner (donc il faut que le pointeur apparaissent et disparaissent)

 

J'aimerai savoir si quelqu'un à déjà fait ce genre de choses ou si quelqu'un aurait une petite idée sur comment faire.

 

Merci d'avance

 

Enael

Posté(e)

Salut Enael,

 

peut-être peux-tu essayer par les annotations 3D ? cela fera apparaître un texte lié à une flèche, elle-même relié à ton trou sélectionné.

 

Pour l'objet automation, regardes dans Annotation, AnnotationFactory et TPSViews.

 

à voir...

 

Gawel

Posté(e)

Merci Gawel

 

J'ai fouiné un peu dans la direction que tu m'as dit et j'ai trouver les marker 3D (je pense que c'est des annotation mais en 3D au niveau de leur placement, corrige moi si je me trompe) donc voila c'est ca qui minterresse mais c'est un peu l'usine à gaz. J'ai beau essayer leur code dans tout les sens ca ne marche pas. Donc est que tu pourrais me donner un bout de code ou une indication ou deux pour avancer parce que la je suis bloqué de chez bloquer :casstet:

 

@+

 

Enael

Posté(e)

continuons,

 

je pense que qu'il faudrait plutôt partir sur les annotations, c'est un texte 3D qui s'applique dans une part. personnellement, je n'ai pas encore eu besoin d'en créer, mais je vais essayer de définir les grandes lignes avec toi

 

il faut d'abord créer un nouveau set d'annotation qui sera rangé en bas de l'arbre de construction:

 

dim toto as Annotationsets '(ou annotationset à voir)

Set annotationSets1 = part1.AnnotationSets

 

Set annotationSet1 = annotationSets1.Add("ISO")

 

ensuite il faut créer une nouvelle annotation et renseigner le texte à mettre dans ce texte attaché:

 

dim annotationFactory1 as AnnotationFactory

Set annotationFactory1 = annotationSet1.AnnotationFactory

 

Set annotation1 = annotationFactory1.AddNewText(userSurface1, "ototo")

 

'ici userSurface1 correspond à la sélection que j'ai effectué sur une surface de mon solide; il faudra donc aussi utilisé l'objet selection pour renseigner sur quelle géométrie se rattacher.

 

Déjà, il faut voir si cela fonctionne, ensuite il faudra affiner avec les (nombreuses) propriétés des annotations.

Bon courage et @+ tard !

 

Gawel

Posté(e)

OH MON DIEU !!

 

Je commence a bien saturer la. J'arrive pas a faire marcher ce que tu m'as donné, je me demande si je suis très doué moi aussi. J'ai un problème avec le usersurface je sais pas quoi en faire ni quel type de variable c'est ni a quoi ca fait référence

 

plz help me *style Leeloo dans le 5eme élément*

 

Enael

Codeur au bord du suicide

Posté(e)

Don't panic !

 

pour le usersurface1, j'avoue que je n'ai pas encore très bien cerné dans quelle collection il va se fourrer celui-là. Tu remarqueras que c'est une propriétée qui existe en VBA.

Donc, voilà ce que tu vas faire en plus:

 

 

dim tutu as UserSurfaces

Set userSurfaces1 = part1.UserSurfaces

 

'Tu vas déclarer une nouvelle référence, c'est le même principe lorsque l'on veut faire une contrainte d'assemblage. Par contre,pour faire le test, on va prendre quelque chose de simple à trouver: le plan XY de ta part; (par contre je n'ai jamais essayé une référence dans une part...je l'ai toujours fait en product)

 

Dim titi As String

titi = part1.Name

 

Dim Reference1 As Reference

Set Reference1 = part1.CreateReferenceFromName(titi & "/!Plan xy")

 

'maintenant, on vient ce fameux usersurface

Set userSurface1 = userSurfaces1.Generate(reference1)

 

à tout à l'heure !

 

Gawel

Posté(e)

je ne sais pas pourquoi mais la méthode createReferenceFromName ne marche pas chez moi j'ai essayer de changer les paramètres mais rien ny fait il ne veut pas a chauqeu fois c'est la même erreur : Method 'CreateReferenceFromNam' of object 'Part' failed

 

Enael

Posté(e)

C'est sûrement le fait que tu travailles en part. Au lieu de mettre CreateReferenceFromName(titi & "/!Plan xy"), mets plutôt: CreateReferenceFromName("/!Plan xy") ou bien "Plan xy" à essayer les 2.

 

Gawel

Posté(e)

à essayer aussi:

CreateReferenceFromBRepName au lieu de CreateReferenceFromName car ce dernier doit être utiliser pour les product seulement.

 

Gawel

Posté(e)

J'ai essayer tout ce que tu m'as dit, j'ai essayer aussi en cherchant dans la doc, y a rien qui marche donc je sens que je vais laisser tomber pour le moment.

 

Enfin si tu as uen solution miracle je suis toujours preneur.

 

@+

 

Enael

  • 2 semaines après...
Posté(e)

Salut,

 

pour cette histoire de flêche, ne serait-il pas plus simple de créer un flêche temporaire dans un sketch? ca t'évite d'utiliser des références qui sont souvent bien chiantes :) A partir de Hole.Origin tu trouves les coord du trou et, à l'aide des fonctions VBA du Sketcher tu génères une flêche (tu peux faire un record, ca marche pour le sketcher). Après la selection du trou en question, tu effaces le sketch en l'ajoutant à la selection et en faisant un selection.remove...

 

Non?

 

salutations

Christophe

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité