Renommer tous les parts et products avec formules
Page 1 sur 1
Renommer tous les parts et products avec formules
Bonjour à tous
J'ai une macro qui permet de recomposer tous les noms de mes Parts ainsi que mes Products via les propriétés
Mes Parts et Products sont paramétrés, les propriétés commandent le nom du Part et Product avec une formule simple
Cette macros fonctionne correctement sur les Parts car elle renomme et remplace la formule des chaque Parts dans le Products
Par contre concernant les Products cela remplace bien le nom mais pas la formule, donc le nom du Product n'est plus piloté par les propriétés, je ne comprends pas pourquoi
Si vous avec un idée je suis preneur, merci par avance
J'ai une macro qui permet de recomposer tous les noms de mes Parts ainsi que mes Products via les propriétés
Mes Parts et Products sont paramétrés, les propriétés commandent le nom du Part et Product avec une formule simple
Cette macros fonctionne correctement sur les Parts car elle renomme et remplace la formule des chaque Parts dans le Products
Par contre concernant les Products cela remplace bien le nom mais pas la formule, donc le nom du Product n'est plus piloté par les propriétés, je ne comprends pas pourquoi
Si vous avec un idée je suis preneur, merci par avance
For i = 1 To CATIA.Documents.Count 'pour chaque élément :
If TypeName(CATIA.Documents.Item(i)) = "ProductDocument" Then 'si c'est une piece :
If InStr(CATIA.Documents.Item(i).Name, "Symmetry of") <> 0 Then
For j = 1 To CATIA.Documents.Item(i).Product.Parameters.Count
If Split(CATIA.Documents.Item(i).Product.Parameters.Item(j).Name, "\")(UBound(Split(CATIA.Documents.Item(i).Product.Parameters.Item(j).Name, "\"))) = "Référence" Then
If InStr(CATIA.Documents.Item(i).Product.Parameters.Item(j).Value, "Symmetry of") <> 0 Then
''''''''''''''''''''''''''''''''''''''''''''''''''Intégrer les nouvelles propriétés'''''''''''''''''''''''''''''''''''''''''''''''''''''''
designation = ""
fournisseur = ""
Reference = ""
''''''''''''''''''''''''''''''''''''''''''''''''''''''''Decomposition du nom''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
If UBound(Split(CATIA.Documents.Item(i).Product.Parameters.Item(j).Value, "_")) = 2 Then
designation = Split(CATIA.Documents.Item(i).Product.Parameters.Item(j).Value, "_")(0)
fournisseur = Split(CATIA.Documents.Item(i).Product.Parameters.Item(j).Value, "_")(1)
Reference = Split(CATIA.Documents.Item(i).Product.Parameters.Item(j).Value, "_")(2)
End If
Set strParam1 = CATIA.Documents.Item(i).Product.ReferenceProduct.UserRefProperties.CreateString("N° Affaire", Right(designation, 4))
If InStr(designation, "Symmetry of ") > 0 Then designation = Replace(designation, "Symmetry of ", "")
Set strParam2 = CATIA.Documents.Item(i).Product.ReferenceProduct.UserRefProperties.CreateString("Nom Affaire", Replace(designation, Right(designation, 5), ""))
Set strParam3 = CATIA.Documents.Item(i).Product.ReferenceProduct.UserRefProperties.CreateString("Nom Nomenclature", fournisseur)
Set strParam8 = CATIA.Documents.Item(i).Product.ReferenceProduct.UserRefProperties.CreateString("Designation", Reference & " SYM")
Set relations2 = CATIA.Documents.Item(i).Product.Relations
Set parameter1 = CATIA.Documents.Item(i).Product.Parameters.Item("Référence")
Set parameter2 = CATIA.Documents.Item(i).Product.Parameters.Item("Nom Affaire")
Set parameter3 = CATIA.Documents.Item(i).Product.Parameters.Item("Nom Nomenclature")
Set parameter4 = CATIA.Documents.Item(i).Product.Parameters.Item("Designation")
Set parameter5 = CATIA.Documents.Item(i).Product.Parameters.Item("N° Affaire")
Set formula2 = relations2.CreateFormula("Formula.2", "", parameter1, "`" & parameter2.Name & "` + " & """" & " " & """" & " + `" & parameter5.Name & "` + " & """" & "_" & """" & " + `" & parameter3.Name & "` + " & """" & "_" & """" & " + `" & parameter4.Name & "`")
'CATIA.Documents.Item(i).Product.Update
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
End If
' ElseIf InStr(CATIA.Documents.Item(i).Part.Parameters.Item(j).Name, "Référence") <> 0 Then
' MsgBox CATIA.Documents.Item(i).Part.Parameters.Item(j).Name
End If
Next j
End If
End If
Next i
lgesl1catia- actif
- Messages : 39
Date d'inscription : 23/11/2016
Localisation : orne
Sujets similaires
» récupérer le nom des parts dans les sous-products
» Renommer les trous d'une CATPart
» VBA CATIA - Renommer les instances d'un CATProduct
» renommer des plans qui se trouvent dans un set géométrique
» Renommer WP ou Part au 2eme niveau d'une branche
» Renommer les trous d'une CATPart
» VBA CATIA - Renommer les instances d'un CATProduct
» renommer des plans qui se trouvent dans un set géométrique
» Renommer WP ou Part au 2eme niveau d'une branche
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum