'------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------
' Macro created by Thomas Berger, TOBEPLUS November 5, 2009
' VERSION = V01'
'
'------------------------------------------------------------------------------------
' Dieses Makro sucht in einem angegebenen Verzeichnis alle darin enthaltenen Files auf.
' Von jedem CATPart wird ein STL-File in einem anzugebenden Ordner erstellt.

Sub CATMain()

'On Error Resume Next
CATIA.DisplayFileAlerts = False
Dim Eingabe As String
Eingabe = "E:\TEST"
Eingabe = InputBox("Bitte geben Sie den Oeffnungs Ort ein.", "CATParts to STL Macro - www.tobeplus.de", Eingabe)

Ausgabe = "E:\TEST\STL"
Ausgabe = InputBox("Bitte geben Sie den Ausgabeort der STL-Files ein.", "CATParts to STL Macro - www.tobeplus.de", Ausgabe)

Dim oFileSystem As INFITF.FileSystem 'nur fuer .net
Set oFileSystem = CATIA.FileSystem
Dim oFolder As INFITF.Folder
' Verzeichnisname fuer CATIA-Daten
Set oFolder = oFileSystem.GetFolder(Eingabe)

Dim FileSep As String
FileSep = oFileSystem.FileSeparator

Dim oFile As INFITF.File
Dim Datei As String
Dim SDatei As String
Dim SName As String

Dim Pfad As String
Pfad = oFolder.Path + FileSep

Dim oActiveDoc As document
Dim document As document
Dim MyProd As Product

Dim Name As String
Dim i As Integer
Dim F As Integer
F = 0

For i = 1 To oFolder.Files.Count
        Set oFile = oFolder.Files.Item(i)
    If Right(oFile.Name, 7) = "CATPart" Then
        Name = Left(oFile.Name, Len(oFile.Name) - 8)
        Datei = Pfad + Name + ".CATPart"
        F = F + 1
        Set oActiveDoc = CATIA.Documents.Open(Datei)
        Set document = CATIA.ActiveDocument
        Set MyProd = document.Product
        SName = Name + ".stl"
        SDatei = Ausgabe + FileSep + SName
        document.ExportData SDatei, "stl"
        Datei = ""
        oActiveDoc.Close
    End If
Next

If Err.Number = 0 Then
    Dim MsgText As String

    MsgText = "Finished, " & F & " STL files created in " & Ausgabe & "."

Else: MsgText = "Macro Save had errors - Please Check - www.tobeplus.de"

End If
    MsgBox MsgText

CATIA.DisplayFileAlerts = True
On Error GoTo 0

End Sub
