CdXie Posté(e) le 24 novembre 2004 Posté(e) le 24 novembre 2004 Je souhaite personnaliser des cartouches CATIA et en particulier récupérer des informations qui sont contenues dans les propriétés du fichier Part rattaché à la mise en plan. C infos sont : la référence, la définition, la révision. Le truc c que je n'arrive pas à lier la MEP et la pièce et encore moins à récupérer les données des champs défintion, référence, ...L'autre point est d'importer automatiquement le logo de la boîte.En fait j'pense pas que ce soit difficile mais comme je pratique pas beaucoup la prog et que l'aide de CATIA n'est pas un modèle du genre là je m'arrache les cheveux !!! Merci pour votre aide CdXie
gawel Posté(e) le 24 novembre 2004 Posté(e) le 24 novembre 2004 Salut CdXie, Bon, pour ton problème, décomposons un peu: 1) pour récupérer les informations de ton fichier Part, c'est pas très dur. En macro catscript, cela donne ceci: Language="VBSCRIPT" Sub CATMain() Set partDocument1 = CATIA.ActiveDocument Set product1 = partDocument1.GetItem(1) 'pour récuperer la référenceDim toto1 as stringtoto1= product1.PartNumber 'pour récuperer la définitionDim toto2 as stringtoto2= product1.definition 'pour récuperer la sourceDim toto as stringtoto= product1.Source 'pour récuperer la révisionDim titi as stringtiti= product1.Revision End Sub donc voilà grosso modo la méthode à utiliser pour récupérer ces infos. 2) Pour importer ces informations dans ton plan, il faudrait partir d'un cartouche pré-établi dans un fichier déjà enregistré. Dans ton cartouche, tu créés tous tes textes à l'avance, en mettant n'importe quoi dedans (ex: xxxxx). Modifies dans les propriétés du texte son nom afin de le reconnaître facilement. Ensuite il suffit dans la macro de répertorier tous les textes, de choisir un texte par son nom (item) et de le valuer en fonction des informations que tu auras récolter précedemment. 3) Pour l logo, si ton cartouche est pré-établi, il suffit simplement de l'insérer. Si ton cartouche n'est pas créé à l'avance, l'approche va être différente, car il va falloir aller chercher ce cartouche sous forme de détail, ou par un "créer à partir de" ou par une ouverture de fichier automatique. Bonne chance ;) Amicalement Gawel
CdXie Posté(e) le 24 novembre 2004 Auteur Posté(e) le 24 novembre 2004 Merci pour ta réponse. Je vais me mettre à l'oeuvre et selon les prb rencontrés je mettrais un nouveau post. Encore merci CdXie
CdXie Posté(e) le 25 novembre 2004 Auteur Posté(e) le 25 novembre 2004 Bon j'ai réussi à récupérer tout ce que je veux dans le document pièce lorsque celui ci est activité (càd lorsqu'il est à l'écran qd je lance la macro). La seconde étape est de pouvoir à partir de la mise en plan en cours d''utilisation, sélectionner le fichier Part qui lui est lié. Donc je vais faire un tour dans l'aide de CATIA et trouve ça : Dim MyViewGenLinks As DrawingViewGenerativeLinksSet MyViewGenLinks = MyView.GenerativeLinks qui permet de récuper le fichier Part utilisé pour générer les vues 2D. But le prb c que dans ts les exemples il y a ce "MyView" qui apparaît tt le tps. Après avoir (longuement) cherché comment attribuer à MyView le nom d'une vue de la MEP active, je trouve enfin les 4 lignes de code ci-dessous pour Dim MyDrawingDoc As DocumentSet MyDrawingDoc = CATIA.Documents.Item("CATDrawing1") 'Dim ViewToWorkIn As DrawingView'Set ViewToWorkIn = MyDrawingDoc.DrawingSheets.ActiveSheet.DrawingViews.ActiveView Mais ça ne marche pas.D'abord ça plante sur : Set MyDrawingDoc = CATIA.Documents.Item("CATDrawing1")Je change donc "CaTDrawing1" d'abord par le nom de ma MEP et ça marche pas. Je le remplace ensuite par 2 et là c ok (avec une MsgBox j'ai validé qu'il trouve tjrs le nom de la MEP). Mais le prb c que cet index n'est uniquement valable que lorsque j'ai 2 fenêtre d'ouverte et qd la première ouverte est celle de la pièce 3D. Mais après ça plante sur ;Set ViewToWorkIn = MyDrawingDoc.DrawingSheets.ActiveSheet.DrawingViews.ActiveView Là j'ai pas d'idée. Nota : avec 'Set PartToDraw = CATIA.Documents.Item(1) 'PartToDraw.Activate()J'active sans prb la fenètre Part. Merci de votre contribution CdXie
gawel Posté(e) le 25 novembre 2004 Posté(e) le 25 novembre 2004 Salut CdXie, je suis pour l'instant en WE, et donc je n'ai pas tout mes outils de travail (catia, aide, ...) Bon, pour retrouver les documents ouverts, on essayera de faire un peu mieux, pour que ce soit un peu plus automatique. Pour éxécuter ta macro, il faudra partir du catdrawing, qui retrouve les liens avec le part et renseigne ainsi les propriétés de la part dans des strings prévus à cet effet. Pour retrouver ensuite le cartouche, tu dois définir sur quel calque il se trouve (le drawingsheet) et dans quelle vue (si nécessaire).Pour l'instant, il faudrait que tu créés des enregistrements de macros pour voir ce que catia te met en code pour retrouver un texte. Va dans outils, macros, démarrer l'enregistrement. tu te créés une macro bidon et tu modifies le libellé d'un texte (déjà créé dans une vue). Evites au maximum de passer par le menu contextuel, et préfères les menus déroulants en haut, catia reconnaît mieux ainsi le code à transcrire.Voilà, et après tu décortiques ce que catia va te dire pour accéder de la racine du document jusqu'au texte. C'est tout ce que je peux faire pour l'instant en espérant que cela te fasse avancer jusqu'à lundi. J'espère aussi que d'autres Cadxpiens t'aideront dans ton problème (certains sont des dieux dans ce domaine :o ) Bonne chance :) Gawel
CdXie Posté(e) le 29 novembre 2004 Auteur Posté(e) le 29 novembre 2004 J'arrive enfin à sélectionner la vue de face de ma MEP et donc je suis sensé pouvoir récupérer le lien vers le fichier .CATPart avec la commande GenerativeBehavior. Il semblerait que cela marche mais comment l'affecter à une variable qui me permette d'activer la fenêtre de la pièce (par exemple avec la commande : PartToDraw.Activate() [ça marche si je spécifie un index de fenêtre et que le fichier est bien ouvert]). L'aide propose : Dim PartDraw as DocumentPartToDraw = MyView.GenerativeBehavior.Document mais ça ne marche pas ... Donc un coup de main serait le bienvenu. Merci CdXie
moise Posté(e) le 30 novembre 2004 Posté(e) le 30 novembre 2004 Bonjour, Je veux moi aussi personnaliser un cartouche pour CATIA. Je suis actuellement en bts en bureaux d'études, autrement dit, la programmation je ne connais pas du tout, pour moi c'est du chinois. J'ai récupéré une macro éxistante pour la modifiée, en particulier la forme de mon cartouche.En lancant ma macro, ma régle tout au tour de mon draw s'affiche et là, plus rien.Je pense que cette erreur provient de ma création de lignes mais sans savoir pourquoi.Y'a-t-il un ordre à respecter dans la programmation des TitleBlock_Line? Est ce que quelqu'un peu m'aider ou connait un lien pour ce genre de problémeJe suis un peu désespérer :( Merci d'avance pour votre aide MOISE
moise Posté(e) le 30 novembre 2004 Posté(e) le 30 novembre 2004 Bonjour, Je veux moi aussi personnaliser un cartouche pour CATIA. Je suis actuellement en bts en bureaux d'études, autrement dit, la programmation je ne connais pas du tout, pour moi c'est du chinois. J'ai récupéré une macro éxistante pour la modifiée, en particulier la forme de mon cartouche.En lancant ma macro, ma régle tout au tour de mon draw s'affiche et là, plus rien.Je pense que cette erreur provient de ma création de lignes mais sans savoir pourquoi.Y'a-t-il un ordre à respecter dans la programmation des TitleBlock_Line? Est ce que quelqu'un peu m'aider ou connait un lien pour ce genre de problémeJe suis un peu désespérer :( Merci d'avance pour votre aide MOISE
gawel Posté(e) le 1 décembre 2004 Posté(e) le 1 décembre 2004 Bonjour, il faudrait plutôt utiliser la propriété suivante de l'objet Drawingview de la collection Drawingviews: Property GenerativeLinks( ) As CATIAGenerativeViewLinks (Read Only) Returns the generative links of the drawing view. Example: This example retrieves in MyViewGenLinks the generative links of the MyView drawing view. Dim MyViewGenLinks As DrawingViewGenerativeLinks Set MyViewGenLinks = MyView.GenerativeLinks j'essayerais de me pencher un peu plus sur le problème, mais pour l'instant j'ai pas mal de taf..... Gawel
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