Récupérer le nom d'une part active dans un produit ouvert
2 participants
Page 1 sur 1
Récupérer le nom d'une part active dans un produit ouvert
Bonjour,
Je suis bêtement bloquer... Je n'arrive pas à récupérer le nom d'une part active dans un produit ouvert.
Si ça peut aider c'est pour faire de la créaction de propriété depuis un produit ouvert dans une part active. Code ci-dessous :
Je cherche a automatiser ces 2 ligne la (voir ci-dessous).
Ca ne doit pas être difficile... mais je n'arrive pas a trouver la réponse sur l'internet et idem sur le ce form.
Merci par avance pour vos réponse !
Je suis bêtement bloquer... Je n'arrive pas à récupérer le nom d'une part active dans un produit ouvert.
Si ça peut aider c'est pour faire de la créaction de propriété depuis un produit ouvert dans une part active. Code ci-dessous :
- Code:
Set ipartDocument = CATIA.Documents.Item("TOLE-1.CATPart")
Set iProduct = ipartDocument.GetItem("TOLE-1")
Set Parameters1 = iProduct.UserRefProperties
Set iparameter1 = Parameters1.CreateString("Nom de la Propriété", "Valeur de la propriété")
Je cherche a automatiser ces 2 ligne la (voir ci-dessous).
- Code:
Set ipartDocument = CATIA.Documents.Item("TOLE-1.CATPart")
Set iProduct = ipartDocument.GetItem("TOLE-1")
Ca ne doit pas être difficile... mais je n'arrive pas a trouver la réponse sur l'internet et idem sur le ce form.
Merci par avance pour vos réponse !
mj0901- timide
- Messages : 10
Date d'inscription : 16/12/2021
Localisation : Lyon
Re: Récupérer le nom d'une part active dans un produit ouvert
Bonjour MJ,
Je n'est pas de solution direct à ta demande, mais tu peux passer par une selection:
-soit d'abord sélectionner la part dans l'arbre puis lancer la macro
-soit lancer la macro qui va demandée à l'utilisateur de sélectionner une part.
Voici le code pour la 2è solution:
Je n'est pas de solution direct à ta demande, mais tu peux passer par une selection:
-soit d'abord sélectionner la part dans l'arbre puis lancer la macro
-soit lancer la macro qui va demandée à l'utilisateur de sélectionner une part.
Voici le code pour la 2è solution:
- Code:
Sub CATMain()
Set oSelection = CATIA.ActiveDocument.Selection
Dim InputObjectType(0)
Dim Status
InputObjectType(0) = "Product"
oSelection.Clear
'Demande à l'user de sélectionner une part:
Status = oSelection.SelectElement2(InputObjectType, "Sélectionner une Part", False)
partName = oSelection.Item(1).Value.ReferenceProduct.Parent.Name
MsgBox partName
End Sub
lumpazepfel- Fédérateur
- Messages : 319
Date d'inscription : 02/11/2015
Localisation : Ensisheim
mj0901 aime ce message
Re: Récupérer le nom d'une part active dans un produit ouvert
Bonjour lumpazepfel,
Merci pour ta réponse !
Ton bout de code est intéressant ! je vais essayer de l'adapté a ma macro.
Merci ! je reviens
Merci pour ta réponse !
Ton bout de code est intéressant ! je vais essayer de l'adapté a ma macro.
Merci ! je reviens
mj0901- timide
- Messages : 10
Date d'inscription : 16/12/2021
Localisation : Lyon
Re: Récupérer le nom d'une part active dans un produit ouvert
Bonjour
J'ai résolu mon problème en fusionnant mon code et celui de lumpazepfel !
ça donne ça :
J'ai rajouter (voir ci-dessous) un morceau de code qui enlevé l'extension après le nom de la pièce.
Merci encore !
A bientôt pour un nouveau casse-tête !
J'ai résolu mon problème en fusionnant mon code et celui de lumpazepfel !
ça donne ça :
- Code:
Sub CATMain()
Set oSelection = CATIA.ActiveDocument.Selection
Dim InputObjectType(0)
Dim Status
InputObjectType(0) = "Product"
oSelection.Clear
'Demande à l'user de sélectionner une part:
Status = oSelection.SelectElement2(InputObjectType, "Sélectionner une Part", False)
partNameExtension = oSelection.Item(1).Value.ReferenceProduct.Parent.Name
partName = Left(partNameExtension, Len(partNameExtension) - 8)
Set ipartDocument = CATIA.Documents.Item(partNameExtension)
Set iProduct = ipartDocument.GetItem(partName)
Set Parameters1 = iProduct.UserRefProperties
Set iparameter1 = Parameters1.CreateString("Nom de la Propriété", "Valeur de la propriété")
End Sub
J'ai rajouter (voir ci-dessous) un morceau de code qui enlevé l'extension après le nom de la pièce.
- Code:
partName = Left(partNameExtension, Len(partNameExtension) -
Merci encore !
A bientôt pour un nouveau casse-tête !
mj0901- timide
- Messages : 10
Date d'inscription : 16/12/2021
Localisation : Lyon
Sujets similaires
» Mesure dans un produit entre une PART et un plan d'une autre PART
» disparition de l'arborescence d'une PART dans un produit
» Récupérer le lien d'une part dans un CATDrawing
» Récupérer les propriétés d'une part
» DRAWING - Cartouche personnalisé - Récupérer infos part pour ajout dans le cartouche
» disparition de l'arborescence d'une PART dans un produit
» Récupérer le lien d'une part dans un CATDrawing
» Récupérer les propriétés d'une part
» DRAWING - Cartouche personnalisé - Récupérer infos part pour ajout dans le cartouche
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum