moise Posté(e) le 15 décembre 2004 Posté(e) le 15 décembre 2004 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
8_pool Posté(e) le 15 décembre 2004 Posté(e) le 15 décembre 2004 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:
moise Posté(e) le 15 décembre 2004 Auteur Posté(e) le 15 décembre 2004 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
gawel Posté(e) le 15 décembre 2004 Posté(e) le 15 décembre 2004 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
8_pool Posté(e) le 15 décembre 2004 Posté(e) le 15 décembre 2004 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:
moise Posté(e) le 16 décembre 2004 Auteur Posté(e) le 16 décembre 2004 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éponsesBonne Journée MOISE
moise Posté(e) le 16 décembre 2004 Auteur Posté(e) le 16 décembre 2004 :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
mbn Posté(e) le 18 janvier 2005 Posté(e) le 18 janvier 2005 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
Enael Posté(e) le 31 janvier 2005 Posté(e) le 31 janvier 2005 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
moise Posté(e) le 23 mars 2005 Auteur Posté(e) le 23 mars 2005 :) 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
moise Posté(e) le 24 mars 2005 Auteur Posté(e) le 24 mars 2005 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éponsesBonne fin de journée MOISE
moise Posté(e) le 24 mars 2005 Auteur Posté(e) le 24 mars 2005 Pour info à 8_pool, la surface mouillée se déclare comme la masse , sauf qu'il faut remplacer "Mass" par "WetArea" ;) A+ moise
topfrunix2 Posté(e) le 26 mars 2005 Posté(e) le 26 mars 2005 SalutJe 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...
moise Posté(e) le 29 mars 2005 Auteur Posté(e) le 29 mars 2005 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
moise Posté(e) le 29 mars 2005 Auteur Posté(e) le 29 mars 2005 TROP COOL!!!!!!!!!!!!!!!!!!!! :laugh: J'ai enfin trouvé pour mon chemin, j'ai compilé des infos à droite et à gauche, ça donne: Dim Filepath As stringFilepath=catia.activedocumentDrwTexts.GetItem("toto").Text=Filepath.Path Trop cool et merci encore à tout le monde et à carxp pour ça bonne humeur ses conseils.
topfrunix2 Posté(e) le 29 mars 2005 Posté(e) le 29 mars 2005 Merci pour l'aide.Mon mail ouaibcool@aol.com
Messages recommandés
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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant