Aller au contenu

Demande d\'aide pour macro de cartouche


Messages recommandés

Posté(e)

Bonjour

 

Je suis actuellement en BTS CPI et je souhaite personnaliser un cartouche pour mon entreprise. Il n'y a pas de programmeur dans ma boite et je me penche sur les scripts sans vraiment aucune expérience.

J'ai reprit une macro existante développée par DS, je l'ai modifiée afin de la personnalisée en y allant à tâtons.

 

 

Bien que gawel ai déjà donné des renseignements pour récupérer des infos de la part, j'ai essayé de les mettre dans ma macro sans aucun résultat. Il faut dire que je ne sais pas du tout ou et comment les intégrer et les utiliser afin de les faire apparaître dans mon cartouche. Les infos dont j'ai besoin sont:

 

- La masse

- La surface mouillée

- La matière utilisée

- L'emplacement de la part (chemin d'accès)

- La désignation

- La référence

- La révision

 

Cela fait peut être beaucoup de choses à demander mais ce cartouche me tient à coeur.

 

 

Merci pour vos réponses et bonne journée à tous

 

MOISE

 

Posté(e)

Salut Moïse,

 

 

Je débute également en macro et j'ai, comme toi, attaqué par le cartouche. Je me suis plus que fortement inspiré de l'exemple de DS

 

Voici ce que je récupère pour notre cartouche :

- pour la désignation, la référence et la révision (tu dois au préalable avoir créer les textes "Désignation", "Référence" et "Révision") :

   Dim ProductDrawn As ProductDocument
   Set ProductDrawn = DrwSheet.Views.Item("Vue de face").GenerativeBehavior.Document
   DrwTexts.GetItem("Désignation").Text = UCase(ProductDrawn.Definition)
   DrwTexts.GetItem("Référence").Text 	 = ProductDrawn.PartNumber
   DrwTexts.GetItem("Révision").Text      = ProductDrawn.Revision

 

- pour la matière et la masse (tu dois au préalable avoir créer les textes"Matière" et "Masse") :

   DrwTexts.GetItem("Matière").InsertVariable 0, 0, ProductDrawn.Parameters.Item("Matériau")
   Dim ProductAnalysis As Analyze
   Set ProductAnalysis = ProductDrawn.Analyze
   DrwTexts.GetItem("Masse").Text = FormatNumber(ProductAnalysis.Mass,1)

 

 

Pour la surface mouillée, il doit falloir trouver la méthode sur ProductAnalysis qui va bien et pPour le chemin d'accès, je ne sais pas trop, 'faut qu'je cherche.

 

Voila pour le moment.

Ciao :cool:

Posté(e)

Salut 8_pool

 

Merci pour ta réponse car je commence à désespérer et à m'arracher les cheveux.

 

Je n'ai pas encore essayé mais ou faut-il placer ces informations dans ma macro, car je n'arrive pas à voir les différentes liaisons entre les parties de ma macro.

 

Et est-il possible de retrouver le chemin d'accès de la part ou du pruduct?

 

 

Encore merci :) et bonne soirée

 

MOISE

Posté(e)

Salut Moise,

 

je sais que tu peux utiliser la méthode ReferenceProduct.parent.fullname sur un product qui est connu et localisé,; moi, j'utilise cette méthode pour connaître le chemin complet d'un product faisant partie d'un autre product. je vais le chercher en utilisant la méthode item et une fois que je l'ai, je créé une variable de type string (ex: productpath) et je fais:

 

productpath = Tonproduct.ReferenceProduct.Parent.FullName

 

Maintenant, tu utilise un productdocument, alors je ne sais pas si cela va coller.

en tout cas tu testes et tu nous dis ce qui se passe :cool:

 

Amicalement

 

Gawel

Posté(e)

Moïse,

 

En ce qui concerne mes bouts de code, ils sont à iinsérer dans la sub 'CATLinks'' de la macro de DS, soit quasiment à la fin

 

 

A demain.

 

Ciao :cool:

Posté(e)

Bonjour tout le monde!

 

 

Gawel, excuse moi je ne pourrai pas te dire si ça marche ou pas car je n'ai pas essayé tes conseils puisque pour le moment je tente de faire apparaître mes infos de matière, ref... sans grand succès.

Lorsque j'insère les bouts de 8_pool, il ne se passe rien. Je n'ai pas créé les textes au préalable comme le conseil 8_pool puisque je ne sais pas ou les mettre.

 

Je les incrustent comme ça:

 

 

 

 

Sub CATLinks()

'-------------------------------------------------------------------------------

'How to fill in texts with data of the part/product linked with current sheet

'-------------------------------------------------------------------------------

On Error Resume Next

Dim ProductDrawn As ProductDocument

Set ProductDrawn = DrwSheet.Views.Item("Vue de face").GenerativeBehavior.Document

If Err.Number = 0 Then

Set Product1 = partDocument1.GetItem("TitleBlock_Text_Number_1").Text = Product1.PartNumber

DrwTexts.GetItem("TitleBlock_Text_Title_1").Text = ProductDrawn.Definition

DrwTexts.GetItem("Désignation").Text = UCase(ProductDrawn.Definition)

DrwTexts.GetItem("Référence").Text = ProductDrawn.PartNumber

DrwTexts.GetItem("Révision").Text = ProductDrawn.Revision

DrwTexts.GetItem("Matière").InsertVariable 0, 0, ProductDrawn.Parameters.Item("Matériau")

Dim ProductAnalysis As Analyze

Set ProductAnalysis = ProductDrawn.Analyze

DrwTexts.GetItem("Masse").Text = FormatNumber(ProductAnalysis.Mass,1)

End If

 

 

 

 

Excusez moi si je n'arrive pas à exploiter vos précieux conseils à 100% car personne ne connaît cette prog dans ma boite. Je me suis penché sur le cartouche un peu par obligation et jusque là j'ai tout fait par déduction sans jamais avoir parler prog donc pour moi c'est du chinois.

 

 

 

 

Merci encore pour vos réponses

Bonne Journée

 

 

MOISE

 

Posté(e)

:D Re-Bonjour :D

 

 

J'ai reussi (en chérchant un peu voir beaucoup) à récuperer mes infos. Il faut que je pofine tout ça et ensuite je me lancerai sur l'insértion du logo et de la source.

 

Merci encore

 

A+

MOISE

  • 1 mois après...
Posté(e)

Moise,

 

Si tu cherches une solution 'commerciale', tu peux me contacter. J'ai des collègues spécialisés dans le knowledge, qui ont développés des outils pour le cartouche.

 

Voici mon mail : mbauvin@rand.fr

 

Salut

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

Bonjour Moise

 

Mon post ne va pas porter sur Catia précisément mais plutot sur la programmation en générale. Voila si jamais tu penses avoir a coder a nouveau par la suite je te conseil de te former en premier lieu aux algorythmes. Ce nest certes pas essentiel, on peut apprendre a coder sans non en fait on ne peut pas pour vraiment comprendre tout les aspects et les mécanismes de la programmation il faut avoi de bonnes bases la dessus.

 

Qu'est ce qu'un alogrythme? Pour faire un simple un algorythme est en fait la structure le squelette du programme il décrit tout ce que le programme doit faire. En comparaison avec le vba cela ressemble un peu (pour les concepts les plus simple) a du vba en francais.

 

http:// http://julp.developpez.com/ Voila un liens vers des tutos d'algo qui il me semble sont bien fait (je nai jeté qu'un coup d'oeil rapide dessus)

 

Donc voila si tu souhaite un peu moins galérer et comprendre un peu mieux comment ca marche met toi a ca.

 

Cordialement

 

Enael

  • 1 mois après...
Posté(e)

:) Merci à tout le monde pour votre contribution. :)

 

J'ai réussi à faire ma macro comme je le désirai mais(car il y en a toujours un), je n'arrive toujours pas à récupérer le chemin d'accès de mon fichier drawing.

 

J'ai essayé de faire comme gawel m'a dit sans grand résultat. Peut être que je ne le fais pas bien ce qui est fort probable.

De plus, j'ai tenté de m'aider de l'explorateur d'objets mais ne vois pas comment les intégrer et le(s) quel(s) prendre.

Quelqu'un sait il comment faire en insérant quoi et ou dans la macro?

 

 

Merci d'avance

 

MOISE

 

 

Posté(e)

Bonjour

 

Toujours au sujet de mon chemin, j'ai trouver ceci sur l'automation:

 

Property Path( ) As CATBSTR (Read Only)

Returns the full path of the file.

 

Example:

This example retrieves in FilePath the path of the File TestFile.

 

Dim FilePath As String

FilePath = TestFile.Path

 

Quelqu'un peut il m’aider à l’exploiter car j'ai essayé de différentes manières sans aucun résultat.

S'il vous plais :(

Comment faut t'il le déclarer, l'intégrer, l'exploiter???

 

Merci pour vos précieuses réponses

Bonne fin de journée

 

 

MOISE

 

Posté(e)

Pour info à 8_pool, la surface mouillée se déclare comme la masse , sauf qu'il faut remplacer "Mass" par "WetArea" ;)

 

A+ moise

Posté(e)

Salut

Je suis egalement en BTS CPI et je suis interessé par les macro sur le cartouche.

Pouvez vous m'expliquer comment faie ou me donner une macro pre-rempli.

Je comprend pas grand cose aux macro, j'ai juste changé les nom de boite par les mot en anglais par du français. En gro, j'ai cherché les mots comme "size" et je les ai mis en français...

Pour le reste je sais pas faire... J'aimerais bien mettre un logo et recuperer directement le materiau et le poid de la piece...

Posté(e)

Bonjour à tous

 

Pas de problèmes topfrunix2 donne-moi une adresse e-mail et je te fais parvenir ma macro et t'explique comment bouger les traits et insérer le logo

 

 

A+ moise

 

Posté(e)

TROP COOL!!!!!!!!!!!!!!!!!!!! :laugh:

 

J'ai enfin trouvé pour mon chemin, j'ai compilé des infos à droite et à gauche, ça donne:

 

 

Dim Filepath As string

Filepath=catia.activedocument

DrwTexts.GetItem("toto").Text=Filepath.Path

 

 

Trop cool et merci encore à tout le monde et à carxp pour ça bonne humeur ses conseils.

 

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é