' Dieses Makro sucht alle Punkte in einem Part und schreibt deren Koordinaten ' in eine angegebene Datei. Die entsprechende Datei und das zu verwendende Trennzeichen ' sind in diesem Script zu editieren. Das Trennzeichen darf kein Komma sein, ' da es als Dezimaltrenner von CATIA benutzt wird. ' --------------------------------------------------------------------------------------------------------------- ' ACHTUNG: Wenn die angegebene Datei schon existiert, wird sie überschrieben! Sub CATMain() '_________________________________________ ' Hier das Trennzeichen angeben/editieren trz = ";" crlf = chr(10) '----------------------------------------- On Error Resume Next Set document = CATIA.ActiveDocument Set filesys = CATIA.FileSystem '__________________________________________________________________________ ' Hier Filename angeben/editieren ' Die Vorwahl des Dateinamens ist auf den jeweiligen PC anzupassen z.B.: filename = "C:\Dokumente und Einstellungen\hammax01\Desktop\Punkt_exp.csv" '-------------------------------------------------------------------------- if filesys.FileExists(filename) Then filesys.DeleteFile(filename) End If Set file = filesys.CreateFile(filename,True) Set stream = file.OpenAsTextStream("ForWriting") err=0 Dim selection1 As Selection Set selection1 = document.Selection '____________________________________________________________________________ 'selection1.Search "CATGmoSearch.Point,all" 'falls nur eine Punktsorte selektiert werden soll; siehe nächste Selektion '---------------------------------------------------------------------------- selection1.Search "((((CATStFreeStyleSearch.Point + CATSketchSearch.2DPoint) + CATDrwSearch.2DPoint) + CATPrtSearch.Point) + CATGmoSearch.Point),all" if err <> 0 Then msgbox("Keine Punkte gefunden!") End If Dim coords(3) As Integer for i = 1 To selection1.Count Set element = selection1.Item(i) Set point = element.Value point.GetCoordinates(coords) stream.write(coords(0)&trz& coords(1)&trz& coords(2)) if i <> selection1.Count Then stream.write(crlf) End If Next stream.close msgbox ("Script ist fertig - Daten sind im Verzeichnis "&filename&" ") End Sub