Hallo Zusammen
Ich habe ein Script geschrieben welches in einem Product nach Schrauben mit der Bezeichnung
DIN 912 sucht.
Dann wird der Parameter der Schraube gelesen und der Name des Parts umbenannt.
Nun soll das Part unter dem Neuen Namen (DIN912_M8x20)abgespeichert werden.
Das funktioniert auch soweit nur das ich immer wieder bestätigen muss dass die Datei überschrieben werden soll.
Ich habe schon versucht abzufragen ob die Datei existiert aber mit meinen bescheidenen Kenntnissen bekomme ich das nicht hin.
Desweiteren gibt es ein Problem wenn eine Schraube mit der gleichen Größe zweimal erzeugt wurde.
Dann brich das Programm logischerweise ab.
Wie kann ich abfragen ob die Datei schon vorhanden ist und er sie nicht noch mal speichern soll.
und wie kann ich eine vorhandene Größe durch die schon existierende Datei ersetzen.
Wäre schön wenn Ihr mir helfen könntet.
Gruß
Ralf
Anbei das Script und eine Datei mit einem Product mit Schrauben
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 selection1 As selection
Set selection1 = productDocument1.selection
DIM PAName AS String
Dim N As Document
Dim Pfad As CADBAS
Dim ExitsBool As Boolean
Dim Datei As String
Dim Pfad1 AS String
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 ,6)
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 = "DIN912" Then
N = N+1
Set length1 = partDocument1.Part.Parameters.Item("Ref")
If Err = 0 Then
On Error GoTo 0
oParameter = length1.ValueAsString
Zeichenlaenge = LEN (oParameter)
Zeichenlaenge = Zeichenlaenge - 3
Ausgabe1 = Mid (oParameter, 5, Zeichenlaenge)
product2.PartNumber = "DIN912"& "_M"&Ausgabe1
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 &"\DIN912_M"&Ausgabe1&".CATPart"
ExitsBool = CATIA.FileSystem.FileExists(Datei)
If CStr(ExitsBool) = "True" Then
'MsgBox "ersetzen"
Else
Dim partDocument1 As Document
Set partDocument1 = documents1.Item(DateiPart)
PartDocument1.SaveAs Datei
End If
'_______________________Ende Datei______________
Else
End If
End If
On Error GoTo 0
Next
End If
MsgBox "Schrauben DIN912 umbenannt"
End Sub
------------------
KOBUE
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP