Code:
'*************************************************************
' Makro: Positionsnummern.CATScript
' Version: V5R16-1.0
' Code: CATIA CATScript
' Zweck: Erzeugung der Positionsnummern
' in einem CATProduct.
' Autor: xxx
' Datum: 07.09.2007
'*************************************************************Sub CATMain()
Dim oRoot As Document
Set oRoot = Catia.ActiveDocument
Dim oProducts As Products
Set oProducts = oRoot.Product.Products
ParaKontrolle oProducts
PositionLeeren oProducts
Nummerierung oProducts
End Sub
'-------------------------------------------
' Kontrolle ob Parameter vorhanden ist, ansonsten Parameter erzeugen
'-------------------------------------------
Sub ParaKontrolle(oProducts)
For zaehler1 = 1 to oProducts.Count
Dim strParam1 As StrParam
On Error Resume Next
Set strParam1 = oProducts.Item(zaehler1).ReferenceProduct.UserRefProperties.Item("Position")
If Err = 0 Then
On Error GoTo 0
Else
On Error GoTo 0
Set strParam1 = oProducts.Item(zaehler1).ReferenceProduct.UserRefProperties.CreateString("Position", "")
strParam1.ValuateFromString ""
End If
Next
End Sub
'-------------------------------------------
' Inhalt des Parameters leeren
'-------------------------------------------
Sub PositionLeeren(oProducts)
For zaehler1 = 1 to oProducts.Count
Dim strParam1 As Parameter
Set strParam1 = oProducts.Item(zaehler1).ReferenceProduct.UserRefProperties.Item("Position")
strParam1.Value = ""
Next
End Sub
'-------------------------------------------
' Neue Nummmernvergabe des Parameters
'-------------------------------------------
Sub Nummerierung(oProducts)
Dim Nummer As Integer
Nummer = 1
Dim zaehler1 As Integer
For zaehler1 = 1 to oProducts.Count
If oProducts.Item(zaehler1).ReferenceProduct.UserRefProperties.Item("Position").Value = "" Then
Dim strParam2 As Parameter
Set strParam2 = oProducts.Item(zaehler1).ReferenceProduct.UserRefProperties.Item("Position")
strParam2.Value = Nummer
Nummer = Nummer + 1
End If
Next
End Sub