CATIA V5 | 3DEXPERIENCE
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le Deal du moment : -45%
Harman Kardon Citation One MK3 – Enceinte ...
Voir le deal
99 €

Récupérer le nom d'une part active dans un produit ouvert

2 participants

Aller en bas

R?solu Récupérer le nom d'une part active dans un produit ouvert

Message par mj0901 Mer 5 Jan 2022 - 9:19

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 :

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 !  Smile
mj0901
mj0901
timide
timide

Messages : 10
Date d'inscription : 16/12/2021
Localisation : Lyon

Revenir en haut Aller en bas

R?solu Re: Récupérer le nom d'une part active dans un produit ouvert

Message par lumpazepfel Dim 9 Jan 2022 - 13:40

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:
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
lumpazepfel
Fédérateur
Fédérateur

Messages : 319
Date d'inscription : 02/11/2015
Localisation : Ensisheim

mj0901 aime ce message

Revenir en haut Aller en bas

R?solu Re: Récupérer le nom d'une part active dans un produit ouvert

Message par mj0901 Mer 12 Jan 2022 - 14:29

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
mj0901
mj0901
timide
timide

Messages : 10
Date d'inscription : 16/12/2021
Localisation : Lyon

Revenir en haut Aller en bas

R?solu Re: Récupérer le nom d'une part active dans un produit ouvert

Message par mj0901 Mer 30 Mar 2022 - 14:53

Bonjour   Smile

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
mj0901
timide
timide

Messages : 10
Date d'inscription : 16/12/2021
Localisation : Lyon

Revenir en haut Aller en bas

R?solu Re: Récupérer le nom d'une part active dans un produit ouvert

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum