# Koordinatentransformation zwischen Koordinatensystemen (#TRANSFORM)

Mit dem #TRANSFORM Befehl können im NC-Programm basierend auf dem aktuellen CS-Stapel beliebig Koordinaten eines 3D-Punktes von einer Stapelebene in eine andere Stapelebene umgerechnet werden. Die dazu notwendige Transformationsrechnung besteht je nach Aufbau des CS-Stapels aus einer Kombination aus kinematischer und kartesischer Vorwärts- oder Rückwärtstransformation.

Hilfs- und Zusatzachsen werden bei der Transformationsrechnung nur bzgl. ihrer Nullpunktverschiebungen zwischen den Stapelebenen berücksichtigt.

Der #TRANSFORM-Befehl kann auch bei bereits aktiven Transformationen (#CS SELECT) im Kanal verwendet werden.

Syntax des Transformationsbefehls:
#TRANSFORM [<CS_Source>] [<CS_Dest> ] [POS_X>, <POS_Y>, <POS_Z> ] [ [ {<POS_Aux>=..} ] ]

<CS_Source> | Name des Eingangs-CS mit maximal 8 Zeichen.
<CS_Dest> | Name des Ziel-CS mit maximal 8 Zeichen.
<POS_X, Y, Z> | 3 Komponenten des zu transformierenden Punktes in [mm, inch] im Eingangs-CS.
<POS_Aux>=.. | Eingangskoordinaten der Hilfs- und Zusatzachsen

## Hinweis

Eine Fehlermeldung wird generiert, wenn:

1. der Name eines Koordinatensystems nicht definiert ist
2. keine 3 Eingangskoordinaten programmiert sind

Das Ergebnis der Transformationsrechnung wird in speziellen achsspezifischen Variablen (V.A.) bereitgestellt. Die Achse kann entweder per Name oder Achsindex programmiert werden:

Syntax Ergebnisvariablen:
V.A.TRANSFORM.<Achsname> Achsspezifische Koordinate nach Berechnung in [mm, inch] oder V.A.TRANSFORM[<Achsindex>] Achsspezifische Koordinate nach Berechnung in [mm, inch]

## Programmierbeispiel

Folgende Beispiele zeigen die schematische Verwendung des #TRANSFORM-Befehls in einem CS-Stapel, der aus kinematischen und kartesischen Transformationen aufgebaut ist. Die Angabe von Eingangs- und Zielkoordinatensystem bestimmt hierbei, ob die Berechnung eine Vorwärts- oder Rückwärtstransformation erfordert.

Beispiel 1, Basiskonfiguration ist eine 5-Achskinematik mit CS-Stapel.

Transformation für den Punkt (50,0,10) mit den Mitschleppachspositionen A10 und B20 aus dem ACS System in das WCS-System. Es wird eine kinematisch-kartesische Vorwärtstransformation durchgeführt.

#TRANSFORM [ACS] [WCS] [50, 0, 10] [A10 B20]

Abb.: Beispiel Vorwärtstransformation mit #TRANSFORM

Beispiel 2, Basiskonfiguration ist eine 5-Achskinematik mit CS-Stapel.

Transformation für den Punkt (10,-10,15) mit den Mitschleppachspositionen A45 und B90 aus dem MCS-System in das ACS-System. Es wird eine rein kinematische Rückwärtstransformation durchgeführt.

#TRANSFORM [MCS] [ACS] [10, -10, 15] [A45 B90]

Abb.: Beispiel Rückwärtstransformation mit #TRANSFORM