lecointep Posté(e) le 31 octobre 2012 Posté(e) le 31 octobre 2012 Bonjour, Je suis actuellement en train de créer une macro me permettant de générer un cartouche pré remplis.Je découvre la programmation, et j'ai déjà fais un bon petit bout de chemin.Mais il me manque quelques clef pour finir cette macro:Comment récupérer les paramètres d'une part dont une vue a été posé dans le calque: récupérer nom, référence, définition poids. J’encode en Cat Script et non en VB Script. Vous pouvez récupérer ma macro ici en cour d'élaboration, cela peut vous aider à comprendre comment encoder.J'ai déjà généré toute la base, et quelque sous routine.Je ne dis pas que ce que j'ai fait est parfait, mais sur la partie présente elle marche.Je la compléterai en fonctions des mises à jour.macro cartouche a télécharger ici Merci pour toutes aides.macro cartouche.txt
Chyps Posté(e) le 16 décembre 2012 Posté(e) le 16 décembre 2012 Bonjour lecointep, Je n'ai pas eu le courage de me plonger dans ton programmedonc je te laisse le plaisir d’intégrer ces lignes de codes à ta façon: Pour obtenir la propriété de la pièce mise en plan dans la première vue, première calque du plan : Sub CATMain() 'Attribuer le document actif dans CATIA (il faut, bien sûr, que le document actif soit le CATDrawing). Set drwDocument = CATIA.ActiveDocument 'Propriété Référence: MsgBox drwDocument.Sheets.Item(1).Views.Item(3).GenerativeBehavior.Document.Name 'ou MsgBox drwDocument.Sheets.Item(1).Views.Item(3).GenerativeBehavior.Document.PartNumber 'Propriété Révision: MsgBox drwDocument.Sheets.Item(1).Views.Item(3).GenerativeBehavior.Document.Revision 'Propriété Définition: MsgBox drwDocument.Sheets.Item(1).Views.Item(3).GenerativeBehavior.Document.Definition 'Propriété Nomenclature: MsgBox drwDocument.Sheets.Item(1).Views.Item(3).GenerativeBehavior.Document.Nomenclature 'Propriété Source (vaut 0 pour "Inconnu", vaut 1 pour "Fabriqué" et vaut 2 pour "Acheté"): MsgBox drwDocument.Sheets.Item(1).Views.Item(3).GenerativeBehavior.Document.Source 'Propriété Déscription: MsgBox drwDocument.Sheets.Item(1).Views.Item(3).GenerativeBehavior.Document.DescriptionRef 'Propriété Masse: MsgBox drwDocument.Sheets.Item(1).Views.Item(3).GenerativeBehavior.Document.Analyze.Mass 'Propriété Volume: MsgBox drwDocument.Sheets.Item(1).Views.Item(3).GenerativeBehavior.Document.Analyze.Volume 'Propriété Surface mouillée: MsgBox drwDocument.Sheets.Item(1).Views.Item(3).GenerativeBehavior.Document.Analyze.WetArea End Sub J’utilise la troisième vue (…Views.Item(3)…) car c’est la première vue utilisateur :Views.Item(1) correspont à Edition => Calque des vuesViews.Item(2) correspont à Edition => Fond de calque Evidement, il faut remplacer "MsgBox" par l’objet "Text" correspondant pour lui attribuer la valeur de la propriété, exemple : par numéro de "Text" créé :drwDocument.Sheets.Item(1).Views.Item(2).Texts.Item(1).Text = drwDocument.Sheets.Item(1).Views.Item(3).GenerativeBehavior.Document.Analyze.Massou par nom de "Text":drwDocument.Sheets.Item(1).Views.Item(2).Texts.GetItem("Texte_Masse").Text = drwDocument.Sheets.Item(1).Views.Item(3).GenerativeBehavior.Document.Analyze.Volume Bonne continuation pour ton projet,Chyps
Chyps Posté(e) le 16 décembre 2012 Posté(e) le 16 décembre 2012 Autres lignes de codes intéressantes pour ton cartouche: Pour récupérer le nom du matériau: MsgBox drwDocument.Sheets.Item(1).Views.Item(3).GenerativeBehavior.Document.Parameters.GetItem(drwDocument.Sheets.Item(1).Views.Item(3).GenerativeBehavior.Document.PartNumber & "\Matériau").Value Pour récupérer l'echelle en décimale (je ne sais pas la donner sous forme de fraction): MsgBox drwDocument.Sheets.Item(1).Views.Item(1).Scale MsgBox drwDocument.Sheets.Item(1).Views.Item(1).Scale2 je ne sais pas non plus expliquer la différence entre "Scale" et "Scale2". Chyps
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