Comment lier un paramètre créé via un CATScript à un attribut de cartouche (TitleBlock_Text_PlyName) dans un CATDrawing CATIA V5, et comment s’assurer que ce paramètre est pris en compte pour tous les calques existants ?
Bonjour,
Votre problématique concerne la liaison dynamique entre un CATScript et les attributs d’un cartouche dans CATIA V5 Drawing, ainsi que la gestion de la prise en compte de ces paramètres sur l’ensemble des calques. L’enregistrement de macro (Knowledgeware) ne capture pas toujours les liaisons dynamiques, ce qui explique la difficulté rencontrée.
Voici une approche structurée pour y parvenir :
1. Création et Affectation du Paramètre via CATScript :
- Accès à l’API CATIA V5 : Vous utiliserez l’API V5Automation pour interagir avec CATIA. Cela implique généralement l’utilisation de Visual Basic for Applications (VBA) ou C# dans un environnement de développement comme Visual Studio, ou directement via un CATScript.
- Création du Paramètre : Vous devez créer un paramètre de type String ou Real selon la nature de l’information à saisir.
' Exemple conceptuel en VB.NET pour créer un paramètre Dim oParam As Parameter oParam = oPartDocument.UserParameters.Create('mon_param', 'Valeur par défaut') - Affectation à la Variable du Cartouche : L’affectation se fait en accédant à la propriété de l’objet représentant l’attribut du cartouche (souvent un
DrawingTextou similaire) et en lui assignant la valeur du paramètre.' Exemple conceptuel pour lier un paramètre à un texte de cartouche Dim oDrawingText As DrawingText ' ... Obtenir l'objet DrawingText correspondant à TitleBlock_Text_PlyName ... oDrawingText.Text = oParam.Value.ToString()
2. Liaison Dynamique et Prise en Compte sur tous les Calques :
La difficulté réside dans la liaison directe entre un paramètre utilisateur et un attribut de texte de cartouche de manière à ce que toute modification du paramètre se répercute automatiquement. CATIA V5 utilise le système de Knowledge (Knowledgeware) pour gérer ces relations.
-
Utilisation de Knowledge Advisor (KA) / Knowledge Expert (KE) : La méthode recommandée est de définir une règle de Knowledge qui lie votre paramètre utilisateur à l’attribut de texte du cartouche.
- Accéder au Cartouche : Dans votre CATDrawing, identifiez l’objet
DrawingTextqui représente l’attributTitleBlock_Text_PlyName. - Créer une Règle de Knowledge : Dans l’atelier Knowledge, créez une nouvelle règle (par exemple, de type ‹ Formula › ou ‹ Rule ›).
- Définir la Relation : Utilisez la syntaxe des règles de Knowledge pour lier votre paramètre utilisateur à la propriété
Textde l’objetDrawingTextdu cartouche.- Si votre paramètre est nommé
mon_paramet l’attribut est unDrawingTextnomméTitleBlock_Text_PlyName:' Syntaxe simplifiée pour une règle de formule ' Assurez-vous que le nom du paramètre et de l'objet DrawingText sont corrects ' Vous devrez peut-être utiliser l'API pour obtenir la référence exacte du DrawingText ' ou le sélectionner manuellement dans l'interface Knowledge. TitleBlock_Text_PlyName.Text = mon_param
- Si votre paramètre est nommé
- Activation de la Règle : Assurez-vous que la règle est activée et associée au document ou au cartouche.
- Accéder au Cartouche : Dans votre CATDrawing, identifiez l’objet
-
Prise en compte sur tous les calques : Une fois la liaison établie via une règle de Knowledge, cette relation devrait s’appliquer à tous les éléments du dessin qui utilisent ce cartouche, y compris les éléments sur différents calques, à condition que le cartouche soit correctement instancié ou référencé sur chaque vue ou calque pertinent.
-
Automatisation via CATScript : Votre CATScript peut alors être utilisé pour :
- Créer ou modifier la valeur du paramètre utilisateur (
mon_param). - Déclencher le recalcul du dessin ou des règles de Knowledge pour que la modification se propage.
- Créer ou modifier la valeur du paramètre utilisateur (
Bonnes Pratiques et Solutions Alternatives :
- Gestion des Noms : Utilisez des noms clairs et cohérents pour vos paramètres et vos attributs de cartouche.
- Documentation API : Référez-vous à la documentation V5Automation pour les objets spécifiques (
DrawingDocument,DrawingTexts,UserParameters, etc.) et leurs méthodes. - Utilisation de
CATCommand: Pour une automatisation plus poussée, vous pouvez enregistrer des actions spécifiques (comme la modification d’un attribut de cartouche) en tant queCATCommandet les appeler depuis votre CATScript. - Templates : Créez des templates de CATDrawing avec des cartouches pré-configurés et des règles de Knowledge déjà établies pour simplifier le processus sur de nouveaux dessins.
En résumé, la clé est d’utiliser l’atelier Knowledge de CATIA V5 pour établir la liaison dynamique entre vos paramètres utilisateur et les attributs de votre cartouche. Votre CATScript servira ensuite à gérer les valeurs de ces paramètres.