Catia V5 : Lier paramètres CATScript aux attributs CATDrawing

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 DrawingText ou 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.

    1. Accéder au Cartouche : Dans votre CATDrawing, identifiez l’objet DrawingText qui représente l’attribut TitleBlock_Text_PlyName.
    2. Créer une Règle de Knowledge : Dans l’atelier Knowledge, créez une nouvelle règle (par exemple, de type ‹ Formula › ou ‹ Rule ›).
    3. Définir la Relation : Utilisez la syntaxe des règles de Knowledge pour lier votre paramètre utilisateur à la propriété Text de l’objet DrawingText du cartouche.
      • Si votre paramètre est nommé mon_param et l’attribut est un DrawingText nommé 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
        
    4. Activation de la Règle : Assurez-vous que la règle est activée et associée au document ou au cartouche.
  • 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 :

    1. Créer ou modifier la valeur du paramètre utilisateur (mon_param).
    2. Déclencher le recalcul du dessin ou des règles de Knowledge pour que la modification se propage.

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 que CATCommand et 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.