VBA CATIA - Renommer les instances d'un CATProduct
5 participants
Page 1 sur 1
VBA CATIA - Renommer les instances d'un CATProduct
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:
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
chyps17- timide
- Messages : 6
Date d'inscription : 11/01/2013
Localisation : Toulouse
Re: VBA CATIA - Renommer les instances d'un CATProduct
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
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
- Messages : 530
Date d'inscription : 08/01/2010
Re: VBA CATIA - Renommer les instances d'un CATProduct
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 ...
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- actif
- Messages : 257
Date d'inscription : 23/12/2009
Age : 43
Localisation : Portieux (88)
Re: VBA CATIA - Renommer les instances d'un CATProduct
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 ^^
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
- Messages : 5
Date d'inscription : 04/05/2013
Localisation : bureau
Re: VBA CATIA - Renommer les instances d'un CATProduct
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]
@+
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
- Messages : 22
Date d'inscription : 07/06/2013
Age : 43
Localisation : PARIS
Re: VBA CATIA - Renommer les instances d'un CATProduct
Même si c'est tardif toujours intéressant à savoir
Ce n'est jamais évident de trouver des macros ou des morceaux de macro sortant des sentiers battus, alors ta contribution est la bienvenue
Ce n'est jamais évident de trouver des macros ou des morceaux de macro sortant des sentiers battus, alors ta contribution est la bienvenue
Guss_- Admin
- Messages : 530
Date d'inscription : 08/01/2010
DroopySCAT- actif
- Messages : 22
Date d'inscription : 07/06/2013
Age : 43
Localisation : PARIS
Sujets similaires
» Macro VBA - Enregistrer sous de tous les CATProduct et CATPart uniquement présents dans CATIA.ActiveDocument ?
» Renommer les trous d'une CATPart
» renommer des plans qui se trouvent dans un set géométrique
» Renommer WP ou Part au 2eme niveau d'une branche
» Renommer tous les parts et products avec formules
» Renommer les trous d'une CATPart
» renommer des plans qui se trouvent dans un set géométrique
» Renommer WP ou Part au 2eme niveau d'une branche
» Renommer tous les parts et products avec formules
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum