Hallo Bernd
Anbei mein Script.
Sub CATMain()
Dim productDocument1 As document
Set productDocument1 = CATIA.ActiveDocument
Dim Name As String
Dim Name01 AS String
Dim oParameter As String
Dim oParameterArray()
Dim length1 As Object
Dim length2 As Object
Dim selection1 As selection
Set selection1 = productDocument1.selection
DIM PAName AS String
Dim N As Document
CATIA.DisplayFileAlerts = False
Set filesys = CATIA.FileSystem
N = 1
selection1.Search "CATProductSearch.Part,all"
Dim Imax As Integer
Imax = selection1.Count
ReDim oParameterArray(Imax)
If Imax > 0 Then
For I = 1 To Imax
Name = selection1.Item(I).Value.ReferenceProduct.Parent.Name
Name01= Left (Name ,9)
Set documents1 = CATIA.documents
Set partDocument1 = documents1.Item(Name)
Set productDocument1 = CATIA.ActiveDocument
Set product1 = productDocument1.Product
Set products1 = product1.Products
Set product2 = selection1.Item(i).Value
On Error Resume Next
If Name01 = "AUSWERFER" Then
N = N+1
Set length1 = partDocument1.Part.Parameters.Item("Ref")
Set length2 = partDocument1.Part.Parameters.Item("Auswerferlaenge")
length2 = round(length2/1mm,"",2 )*1mm
If Err = 0 Then
On Error GoTo 0
oParameter = length1.ValueAsString
Zeichenlaenge = LEN (oParameter)
Zeichenlaenge = Zeichenlaenge - 3
Ausgabe1 = Mid (oParameter, 5, Zeichenlaenge)
Ausgabe1 = Replace(Ausgabe1, ".", ",")
Ausgabe2= length2.ValueAsString
product2.PartNumber = "AUSWERFER_"&Ausgabe1&"_L="&Ausgabe2
' product2.name = "DIN912"& "_M"&Ausgabe1&N
'____________________Datei prüfen______________________
Set productDocument1 = CATIA.ActiveDocument
Pfad = product2.ReferenceProduct.Parent.Path
DateiPart = product2.ReferenceProduct.Parent.Name
Pfad1 = product2.ReferenceProduct.Parent.FullName
Datei = Pfad &"\AUSWERFER_"&Ausgabe1&"_L="&Ausgabe2
if CATIA.FileSystem.FileExists(Datei) <> true then
Dim partDocument1 As Document
Set partDocument1 = documents1.Item(DateiPart)
PartDocument1.SaveAs Datei
Else
Set oPartNeu = oProd.Products.ReplaceComponent(Name, Datei, False)
End If
'_______________________Ende Datei______________
Else
End If
End If
On Error GoTo 0
Next
End If
CATIA.DisplayFileAlerts = True
MsgBox "Auswerfer umbenannt"
Ich möchte den Parameter "Auswerferlaenge" auf 2 Stellen kürzen.
Kann sein das der Script besser sein könnte aber er funktionier bis auf diese eine Funktion.
Gruß
Ralf
------------------
KOBUE
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP