Renommer WP ou Part au 2eme niveau d'une branche
3 participants
Page 1 sur 1
Renommer WP ou Part au 2eme niveau d'une branche
Bonjour Forumeur et Forumeuse,
J'ai commencé depuis peu les macro sous CATIA et EXCEL. Je travail actuellement sur macro qui doit me supprimer les 2 dernier caractère des Product de ma branche ( je suis en file base).
J ai créé un bout de macro mais, même si tout mes Product sont identifiés et modifié, la modif se fait qu'au premier rang de ma branche.
Exemple branche :
Product1
---Part1
---Part2
---Part3
---Product2
---------Part4
---------Product3
---------------Part5
---------Product4
Voici mon code
Apres passage de mon script :
Part1.1 --------> Part1
Part2.1 --------> Part2
Part3.1 --------> Part3
Product2.1 ----> Product2
Part4.1 --------> Part4.1 au lieu de Part4
Product3.1 ----> Product3.1 au lieu de Product3
Part5.1 --------> Part5.1 au lieu de Part5
Product4.1 ----> Product4.1 au lieu de Product4
Je suis l'évolution de ma macro avec F8, je vois toutes les étapes s'effectuer, String1 et 2 prennent bien la valeur demandée mais pas mon name.
Le probleme ne vient pas du fait que ce soit une Part ou un WP, le seul truc est surement du au positionnement dans l'arbre.
J'ai essayé avec une rescursive pas de resultats différents.
J’espère que vous allez pouvoir m'aider.
Je vous remercie tous par avance.
Cdt,
Olivier
J'ai commencé depuis peu les macro sous CATIA et EXCEL. Je travail actuellement sur macro qui doit me supprimer les 2 dernier caractère des Product de ma branche ( je suis en file base).
J ai créé un bout de macro mais, même si tout mes Product sont identifiés et modifié, la modif se fait qu'au premier rang de ma branche.
Exemple branche :
Product1
---Part1
---Part2
---Part3
---Product2
---------Part4
---------Product3
---------------Part5
---------Product4
Voici mon code
- Code:
Sub deleted_1()
Dim objRootProductDoc As ProductDocument
Dim mySel As Selection
Dim myProduct As Product
Dim ChildProduct As Product
Dim i As Integer
Set objRootProductDoc = CATIA.ActiveDocument
Set mySel = CATIA.ActiveDocument.Selection
mySel.Search ("'Assembly Design'.Product,all")
For i = 1 To mySel.Count
Set myProduct = mySel.Item(i).Value
If Right(myProduct.Name, 2) Like ".*" Then
lenght = Len(myProduct.Name) - 2
string1 = Left(myProduct.Name, lenght)
myProduct.Name = string1
Set ChildProduct = mySel.Item(i).Value
If Right(ChildProduct.Name, 2) Like ".*" Then
lenght = Len(ChildProduct.Name) - 2
string2 = Left(ChildProduct.Name, lenght)
string2 = ChildProduct.Name
End If 'ChilProduct
End If 'myProduct
Next
MsgBox " OK "
End Sub
Apres passage de mon script :
Part1.1 --------> Part1
Part2.1 --------> Part2
Part3.1 --------> Part3
Product2.1 ----> Product2
Part4.1 --------> Part4.1 au lieu de Part4
Product3.1 ----> Product3.1 au lieu de Product3
Part5.1 --------> Part5.1 au lieu de Part5
Product4.1 ----> Product4.1 au lieu de Product4
Je suis l'évolution de ma macro avec F8, je vois toutes les étapes s'effectuer, String1 et 2 prennent bien la valeur demandée mais pas mon name.
Le probleme ne vient pas du fait que ce soit une Part ou un WP, le seul truc est surement du au positionnement dans l'arbre.
J'ai essayé avec une rescursive pas de resultats différents.
J’espère que vous allez pouvoir m'aider.
Je vous remercie tous par avance.
Cdt,
Olivier
oli13011- timide
- Messages : 2
Date d'inscription : 26/06/2013
Localisation : Marseille
Re: Renommer WP ou Part au 2eme niveau d'une branche
Bonjour Olivier,
ta macro renomme les composants de ton product (instance name), et ce que tu veux renommer c'est le PartNumber.
Dim documents1 As Documents
Dim partDocument1 As PartDocument
Dim part1 As Part
Set documents1 = CATIA.Documents
Set partDocument1 = documents1.Item(mapart.CATPart)
Set part1 = partdocument1.Part
part1.Name = "..........."
ta macro renomme les composants de ton product (instance name), et ce que tu veux renommer c'est le PartNumber.
Dim documents1 As Documents
Dim partDocument1 As PartDocument
Dim part1 As Part
Set documents1 = CATIA.Documents
Set partDocument1 = documents1.Item(mapart.CATPart)
Set part1 = partdocument1.Part
part1.Name = "..........."
tuxmickmac- actif
- Messages : 25
Date d'inscription : 14/09/2010
Age : 50
Localisation : nord
Re: Renommer WP ou Part au 2eme niveau d'une branche
un post similaire ici :
https://catiav5.forumactif.org/t841-vba-catia-renommer-les-instances-d-un-catproduct
https://catiav5.forumactif.org/t841-vba-catia-renommer-les-instances-d-un-catproduct
DroopySCAT- actif
- Messages : 22
Date d'inscription : 07/06/2013
Age : 43
Localisation : PARIS
Sujets similaires
» Mesure dans un produit entre une PART et un plan d'une autre PART
» Renommer les trous d'une CATPart
» Positionner un corps de pièce copié (dans une part 1) dans un repère d'une part 2
» VBA CATIA - Renommer les instances d'un CATProduct
» renommer des plans qui se trouvent dans un set géométrique
» Renommer les trous d'une CATPart
» Positionner un corps de pièce copié (dans une part 1) dans un repère d'une part 2
» VBA CATIA - Renommer les instances d'un CATProduct
» renommer des plans qui se trouvent dans un set géométrique
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum