Hallo zusammen,
folgendes Problem versuche ich zu lösen, doch mit meinen begrenzten VB Kenntnissen komme ich da nicht weiter. Habe schon hier mehrer Berichte durchsucht aber nichts gefunden, vielleicht auch mangels Wissen nicht verstanden .
Das nachfolgende Script, hier gefunden http://www.catiav5forum.de/wbb3/wbb/index.php?page=Thread&postID=16775, nummeriert die Anzahl der Produkte nach der vorhanden Anzahl der Teile durch (siehe auch Bild 1). Jetzt ist es nun so das ich entsprechend einer Stückliste von oben beginnend fortlaufend eine Nummerierung für jedes unterschiedlich Bauteil haben möchte (siehe Bild 2 - manuell erstellt). Sprich der hintere Teil des Instance Name ist Ok jedoch nicht der vordere, dort soll nicht die Teilenummer sondern eine Nummerierung stehen.
der Code:
Sub CATMain()
Dim ProductDoc As ProductDocument
Dim Product As Product
Dim ItemToRename As Product
Dim ItemToRenamePartNumber As String
Dim oDict1
Dim lNumberOfItems As Long
Dim i As Integer
Set ProductDoc = CATIA.ActiveDocument
Set Product = ProductDoc.Product 'The top product containing the items to rename
Set oDict1 = CreateObject ("Scripting.Dictionary")
lNumberOfItems = Product.Products.Count
for i = 1 To lNumberOfItems
Set ItemToRename = Product.Products.Item(i)
ItemToRenamePartNumber = ItemToRename.PartNumber
If oDict1.Exists (ItemToRenamePartNumber)Then
oDict1.Item(ItemToRenamePartNumber) = oDict1.Item (ItemToRenamePartNumber) + 1
Else: oDict1.Add (ItemToRenamePartNumber), "1"
End If
'Rename the items instance name like this: Part Number + ".1#" + suffix number
ItemToRename.Name = ItemToRenamePartNumber & ".1#" & oDict1.Item(ItemToRenamePartNumber)
Next
Set oDict1 = Nothing
End Sub
Danke im Voraus,
Gruß,
Oliver
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP