Hallo zusammen,
ich möchte gespiegelte Produkte und Einzelteile mittels eines Macros nach folgendem System umbenennen:
Symmetry of 1779020__0510.0004__Verdrehsicherung
in
1779020__0510.0104__Verdrehsicherung_spg
Hierfür habe ich folgendes Macro geschrieben:
Sub traverse(Prod, origstr, newstr)
set refp = Prod.ReferenceProduct
origstr= "Symmetry of"
origstri = ".000"
newstri = ".010"
if left(refp.Name, 11 )="Symmetry of" then
newpname = mid(refp.Name, 13) & "_spg"
refp.Name = newpname
end if
if left(refp.PartNumber,11 )="Symmetry of" then
newpnum = mid(refp.PartNumber, 13) & "_spg"
refp.PartNumber = newpnum
end if
Set prods = Prod.Products
pc = prods.Count
If pc >= 0 then
For i = 1 to pc
traverse prods.Item(i), origstr, newstr
Next
End If
if right(refp.Name, 4 )="_spg" then
if instr(refp.Name, origstri) then
newpnamea = Replace(refp.Name, origstri, newstri)
refp.Name = newpnamea
end if
if instr(refp.PartNumber, origstri) then
newpnuma = Replace(refp.PartNumber, origstri, newstri)
refp.PartNumber = newpnuma
end if
Set prods = Prod.Products
pc = prods.Count
If pc > 0 then
For i = 1 to pc
traverse prods.Item(i), origstri, newstri
Next
End If
End if
End Sub
Sub CATMain()
Set actProd = CATIA.ActiveDocument.Product
traverse actProd, origstr, newstr
End Sub
Das Macro funktioniert auch.
Aber wenn ich mehrere Unterprodukte habe und ein Katalogteil bereits gespiegelt umbenannt und gespeichert wurde und ich das selbe Katalogteil erneut in der gleichen Konstruktion einsetze, spiegle und mit dem Macro umbenennen will, erscheint eine Fehlermeldung (Zeile im Macro: refp.Name = newpname) und das Macro wird nicht weiter ausgeführt. Weil es den Namen (1779020__0510.0104__Verdrehsicherung_spg) bereits gibt. Könnt ihr mir bitte helfen, wie ich das Macro abändern muss, damit in so einem fall, wenn es den Namen bereits gibt "_1"; "_2" usw. hinten vor oder nach "_spg" anhängt. Also das der Name in diesem FAll 1779020__0510.0104__Verdrehsicherung_1_spg und beim nächsten Mal 1779020__0510.0104__Verdrehsicherung_2_spg heißt?
Danke im Voraus.
Grüße Svenja
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP