BenBST Posté(e) le 5 juillet 2023 Posté(e) le 5 juillet 2023 Bonjour, Je suis encore un peu novice dans la partie macro Catia et je rencontre quelques soucis pour une liaison entre une CatPart et un Drawing. Un peu de contexte: Aujourd'hui j'ai une CatPart dans laquelle j'édite des paramètres (Concepteur/Reference/Nomenclature/Type/Materiau/Masse/...). Ces derniers sont ensuite intégrés via une macro aux propriété de la Part. J'ai dû créer des propriétés ajoutées pour certains champs (ce sont elles qui me posent problèmes). Voilà la macro pour avoir une idée (elle servira peut-être à quelqu'un un jour) ______________________________________________________________________________________________________________________________ Language="VBSCRIPT" Sub CATMain() Set partDocument1 = CATIA.ActiveDocument Set part1 = partDocument1.Part Set parametersconcepteur = part1.Parameters Set strParamconcepteur = parametersconcepteur.Item("Concepteur") Set parametersmateriau = part1.Parameters Set strParammateriau = parametersmateriau.Item("Materiau") Set parameterstype = part1.Parameters Set strParamtype = parameterstype.Item("Type") Set parameterstraitementmateriau = part1.Parameters Set strParamtraitementmateriau = parameterstraitementmateriau.Item("TraitementMateriau") Set parameterstraitementdesurface = part1.Parameters Set strParamtraitementdesurface = parameterstraitementdesurface.Item("TraitementDeSurface") Set parametersmasse = part1.Parameters Set strParammasse = parametersmasse.Item("Masse") Set parametersgx = part1.Parameters Set strParamgx = parametersgx.Item("Gx") Set parametersgy = part1.Parameters Set strParamgy = parametersgy.Item("Gy") Set parametersgz = part1.Parameters Set strParamgz = parametersgz.Item("Gz") Set parametersproprieteconcepteur = part1.Parameters Set strParamproprieteconcepteur = parametersproprieteconcepteur.Item("Propriétés\Concepteur") Set parametersproprieteinformations = part1.Parameters Set strParamproprieteinformations = parametersproprieteinformations.Item("Propriétés\Informations") Set parametersproprietemateriau = part1.Parameters Set strParamproprietemateriau = parametersproprietemateriau.Item("Propriétés\Materiau") Set parametersproprietetype = part1.Parameters Set strParamproprietetype = parametersproprietetype.Item("Propriétés\Type") Set parametersproprietetraitementmateriau = part1.Parameters Set strParamproprietetraitementmateriau = parameterstraitementmateriau.Item("Propriétés\TraitementMateriau") Set parametersproprietetraitementdesurface = part1.Parameters Set strParamproprietetraitementdesurface = parametersproprietetraitementdesurface.Item("Propriétés\TraitementDeSurface") Set parametersproprietemasse = part1.Parameters Set strParamproprietemasse = parametersproprietemasse.Item("Propriétés\Masse") Set parametersproprietegx = part1.Parameters Set strParamproprietegx = parametersproprietegx.Item("Propriétés\Gx") Set parametersproprietegy = part1.Parameters Set strParamproprietegy = parametersproprietegy.Item("Propriétés\Gy") Set parametersproprietegz = part1.Parameters Set strParamproprietegz = parametersproprietegz.Item("Propriétés\Gz") strParamproprieteconcepteur.Value = strParamconcepteur.Value strParamproprieteinformations.Value = "N/A" strParamproprietemateriau.Value = strParammateriau.Value strParamproprietetype.Value = strParamtype.Value strParamproprietetraitementmateriau.Value = strParamtraitementmateriau.Value strParamproprietetraitementdesurface.Value = strParamtraitementdesurface.Value strParamproprietemasse.Value = strParammasse.Value strParamproprietegx.Value = strParamgx.Value strParamproprietegy.Value = strParamgy.Value strParamproprietegz.Value = strParamgz.Value End Sub ______________________________________________________________________________________________________________________________ Ensuite j'ai un drawing dans lequel je souhaite remplir des paramètres qui sont identiques à la Part (Concepteur/Reference/Nomenclature/Type/Materiau/Masse/...) en auto via une macro. Les champs du cartouche sont remplis via la fonction "lier à un attribut". Actuellement ma macro n'arrive à récupérer que les propriétés standards de la Part (Definition/Nomenclature), mais je ne trouve pas comment coder les propriétées ajoutées manuellement (Masse/Materiau/Concepteur/Type/...). J'ai bien trouvé sur le site un vieux post pour faire de la liaison, mais cette dernière nécessite de nommer les cellules des champs du drawing. Or de mon côté je veux "simplement" récupérer les données de la Part pour les intégrer dans des paramètres spécifiques au Drawing. Quelqu'un(e) peut-il m'aider ? 🙂 Voici ma macro actuelle: ______________________________________________________________________________________________________________________________ Sub CATMain() set drawingDoc1 = CATIA.ActiveDocument Set parameters1 = drawingDoc1.Parameters Set strParamdrawdef= parameters1.Item("Designation") Set strParamdrawref= parameters1.Item("PartReference") Set strParamdrawdate= parameters1.Item("DateDeCreationDrawing") Set strParamdrawtype = parameters1.Item("Type") Set strParamdrawmat = parameters1.Item("Materiau") Set strParamdrawmasse = parameters1.Item("Masse") Set strParamdrawtraitmat = parameters1.Item("TraitementMateriau") Set strParamdrawtraitsurf = parameters1.Item("TraitementDeSurface") Set ParentVue = CATIA.ActiveDocument.Sheets.ActiveSheet.Views.Item(3).GenerativeLinks.FirstLink Set ParentVue = ParentVue.Parent Dim ActualDay, MyDay, MyMonth MyDay = Day(Now) MyMonth = Month(Now) If Len(MyDay) = 1 Then MyDay = "0" & MyDay If Len(MyMonth) = 1 Then MyMonth = "0" & MyMonth ActualDay = MyDay & "/" & MyMonth & "/" & Year(Now) strParamdrawdate.Value = ActualDay strParamdrawdef.Value = ParentVue.Product.Definition strParamdrawref.Value = ParentVue.Product.Nomenclature strParamdrawtype.Value = "le bon codage pour le type" strParamdrawmat.Value = "le bon codage pour le materiau" strParamdrawmasse.Value = "le bon codage pour la masse" strParamdrawtraitmat.Value = "le bon codage pour le TraitementMateriau" strParamdrawtraitsurf.Value = "le bon codage pour le TraitementDeSurface" 'Set drawingDoc1.Name = ParentVue.Product.Name End Sub ______________________________________________________________________________________________________________________________ Merci d'avance.
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