CATIA V5 | 3DEXPERIENCE
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
-14%
Le deal à ne pas rater :
Lave-linge hublot HOOVER HWP 10 kg (Induction, 1600 trs/min, Classe ...
299.99 € 349.99 €
Voir le deal

VBA CATIA - Renommer les instances d'un CATProduct

5 participants

Aller en bas

VBA CATIA - Renommer les instances d'un CATProduct Empty VBA CATIA - Renommer les instances d'un CATProduct

Message par chyps17 Ven 11 Jan 2013 - 23:06

Bonjour,
je suis en train d'écrire une macro qui renomme toutes les instances dans un CATProduct.

J 'arrive très bien à renommer les instances du niveau le plus haut du produit (c'est à dire les pièces, composants ou produits directement sous la tête d'arboressance) mais pas pour les niveaux inférieurs (exemple: une pièce d'un composant du produit de tête).

Est-ce que quelqu'un a une idée, une piste?


Exemple de cas où je n'arrive pas à renommer:
(Afin d'être le plus clair possible, je vais décrire le CATProduct travaillé)
- Démarrer CATIA V5
- Fichier => Nouveau...
- Choisir "Product" puis "OK"
(Le CATProduct "Produit1" a été créé)
- Sélectionner "Produit1" dans le graph
- Insertion => Nouveau composant
(Le composant "Produit2" a été créé dans "Produit1")
- Sélectionner "Produit2" dans le graph
- Insertion => Nouvelle pièce
(La pièce "Pièce1" a été créé dans le composant "Produit2")

Maintenant la question est :
Comment renommer l'instance de la pièce "Pièce1" par VBA?

(Pour info: l'instance de pièce "Pièce1" est actuellement "Pièce1.1")


J'ai essayé de répondre avec ce code mais il ne fonctionne pas:
Code:

Sub CATMain()
    CATIA.ActiveDocument.Product.Products.Item(1).Products.Item(1).Name = "Instance_de_piece1_renommee"
End Sub
L'instance est toujours égal à "Pièce1.1" est non à "Instance_de_piece1_renommee"
chyps17
chyps17
timide
timide

Messages : 6
Date d'inscription : 11/01/2013
Localisation : Toulouse

Revenir en haut Aller en bas

VBA CATIA - Renommer les instances d'un CATProduct Empty Re: VBA CATIA - Renommer les instances d'un CATProduct

Message par Guss_ Mer 30 Jan 2013 - 15:40

Salut décompose peut etre ton opération, tu ne peux peut être pas assigner un nom de la manière dont tu le fais

test un truc du genre

Code:
set element_a_modifier = CATIA.ActiveDocument.Product.Products.Item(1).Products.getItem(1)
element_a_modifier.name = "Instance_de_piece1_renommee"

Guss_
Admin
Admin

Messages : 530
Date d'inscription : 08/01/2010

Revenir en haut Aller en bas

VBA CATIA - Renommer les instances d'un CATProduct Empty Re: VBA CATIA - Renommer les instances d'un CATProduct

Message par mike688 Mar 2 Avr 2013 - 16:44

as tu trouver depuis ?

j'ai aussi attaquer les macro au taf pour me simplifier la vie (et peut etre les 200 autres dessinateurs dans le monde. ça va bien mais c'est un peu galère ...
mike688
mike688
actif
actif

Messages : 257
Date d'inscription : 23/12/2009
Age : 43
Localisation : Portieux (88)

Revenir en haut Aller en bas

VBA CATIA - Renommer les instances d'un CATProduct Empty Re: VBA CATIA - Renommer les instances d'un CATProduct

Message par Gadget17 Sam 4 Mai 2013 - 17:49

Idem, j'avais un collègue qui devait convertir des pièces et assemblages en stp. Genre 100 d'un coup.
Je lui ai fais une petite macro qui suffi. Mais il y a toujours moyen de faire mieux, mais niveau connaissance je galère aussi.

Bon courage à tous ^^

Gadget17
timide
timide

Messages : 5
Date d'inscription : 04/05/2013
Localisation : bureau

Revenir en haut Aller en bas

VBA CATIA - Renommer les instances d'un CATProduct Empty Re: VBA CATIA - Renommer les instances d'un CATProduct

Message par DroopySCAT Lun 10 Juin 2013 - 10:36

Bonjour,

je débarque dans ce forum, donc j'arrive un peu tard pour répondre à ce sujet mais ce qu'il faut faire pour ton probleme c'est balayer toute l'arborescence avec un processus récursif (qui s'appelle lui-meme).

exemple :
[/code]
Sub catia_models_list()

Set RootProd = CATIA.ActiveDocument.Product

Call ScanRecursif(RootProd)

End Sub

Sub ScanRecursif(myObject)

For Each Object In myObject.Products
'on affecte un nouveau nom à l'instance et à ses autres attributs si besoin
Object.name = titi
'si l'instance a des enfants on continue de plonger dans la descendance jusqu'à toucher le fond
Call ScanRecursif(Object)
Next Object
End Sub
[code]

@+

DroopySCAT
actif
actif

Messages : 22
Date d'inscription : 07/06/2013
Age : 43
Localisation : PARIS

Revenir en haut Aller en bas

VBA CATIA - Renommer les instances d'un CATProduct Empty Re: VBA CATIA - Renommer les instances d'un CATProduct

Message par Guss_ Lun 10 Juin 2013 - 10:40

Même si c'est tardif toujours intéressant à savoir Wink

Ce n'est jamais évident de trouver des macros ou des morceaux de macro sortant des sentiers battus, alors ta contribution est la bienvenue Smile

Guss_
Admin
Admin

Messages : 530
Date d'inscription : 08/01/2010

Revenir en haut Aller en bas

VBA CATIA - Renommer les instances d'un CATProduct Empty Re: VBA CATIA - Renommer les instances d'un CATProduct

Message par DroopySCAT Lun 10 Juin 2013 - 10:48

Smile merci

DroopySCAT
actif
actif

Messages : 22
Date d'inscription : 07/06/2013
Age : 43
Localisation : PARIS

Revenir en haut Aller en bas

VBA CATIA - Renommer les instances d'un CATProduct Empty Re: VBA CATIA - Renommer les instances d'un CATProduct

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