Sub Koord() Dim Was(0) Was(0) = "AxisSystem" Set UserSel = CATIA.ActiveDocument.Selection UserSel.clear E = UserSel.SelectElement2(Was, "Bitte FertigungsACHSENSYSTEM wählen", True) If E = "Normal" Then achsyspartname = UserSel.Item(1).value.Parent.Parent.name achsysname = UserSel.Item(1).value.name MsgBox (achsyspartname + achsysname) Else MsgBox ("Abbruch") End If ' bis hierher nur beliebiges Achsensystem gewählt Dim r(2) Dim o(2) Dim hilfsachsys As Object Dim hilfspkt As Object Set hilfspkt = UserSel.Item(1).value.OriginPoint 'sclägt für das 'absolute Achsensystem jedes Teiles fehl! Set hilfsachsys = UserSel.Item(1).value UserSel.Item(1).value.GetOrigin o ' damit gibts nur die Koord des Ursprungs ' bezogen auf das absolute Achsensys ' im GLEICHEN Part nicht im Product 'hilfspkt.GetCoordinates r 'doesnt support prop. or meth. hilfsachsys.GetOrigin o UserSel.EndSelectElement UserSel.clear End Sub Mit dem folgenden script kann man Punkte mit bezug auf Product-Achs-Null auslesen. funktioniert aber analog für Achsensysteme nicht?? Const cDateiPfad = "X:\KoordTransform\exp.txt" Sub CATMain() ' Datei erzeugen Dim Datei As File Set Datei = CATIA.FileSystem.CreateFile(cDateiPfad, True) Dim mySelection As Selection Set mySelection = CATIA.ActiveDocument.Selection Dim AnzahlSelekt As Integer AnzahlSelekt = mySelection.count ' Gibt an wieviele Elemente selektiert wurden Dim DStrom As TextStream Set DStrom = Datei.OpenAsTextStream("ForAppending") DStrom.Write ("Name" & Chr(9) & "X" & Chr(9) & "Y" & Chr(9) & "Z" & Chr(10)) Dim I As Integer Dim oPunktKoord(2) ' As CATSafeVariant Dim oSelElem As Object For I = 1 To AnzahlSelekt Set oSelElem = mySelection.Item(I) oSelElem.GetCoordinates oPunktKoord DStrom.Write (mySelection.Item(I).value.name & Chr(9) & oPunktKoord(0) & Chr(9) & oPunktKoord(1) & Chr(9) & oPunktKoord(2) & Chr(10)) Next DStrom.Close End Sub