Hallo zusammen,
ich habe folgende Frage:
Kann das Macro (Quelltext siehe unten), welches alle Möglichen Punkte aus einem Part in eine EXCEL-Tabelle überträgt auch irgendiwe den Punktnamen mit rausschreiben?
Hat jemand eine Quelle wo man die Befehle (ich stelle mir das wie EXCEL-VBA oder Ansys ADPL vor)nachlesen kann??
Danke schonmal für eure Hilfe...
gruß, d
...und hier noch der Quelltext des Macros:
================================================================================================
' 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 = "D:\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
================================================================================================
[Diese Nachricht wurde von d-Engin am 03. Jul. 2012 editiert.]
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP