Definition of a coordinate system for fixture adaptation (ACS)

The fixture adaptive coordinate system (ACS) compensates a sloping position of the workpiece or workpiece palette. It is defined, selected and deselected analogously to the machining CS.

Defining and storing an ACS:

#ACS DEF [ [<ACS-ID>] ] [ <v1>,<v2>,<v3>,<φ1>,<φ2>,<φ3> ]                                                 (modal)

Defining and storing with simultaneous activation:

#ACS ON [ [<ACS-ID>] ] [ <v1>,<v2>,<v3>,<φ1>,<φ2>,<φ3> ]                                                   (modal)

#ACS ON [<ACS-ID>]                        Selecting a stored ACS                                     (modal)

#ACS ON                                         Selecting the last ACS defined                                     (modal)

#ACS OFF                                        Deselecting the last ACS activated                                     (modal)

Parameter ACS-ID may not be programmed here since it is only permitted to deselect the last ACS activated.


Coordinate system ID. The CS-ID is assigned the default value 1 at program start. If the CS-ID is not programmed with #CS DEF or #CS ON, the next free CS-ID is calculated automatically. ACS programmed in this way are not available again after they are deselected with #ACS OFF.


Components of the translatory offset vector in [mm, inch]. (These refer to the main axes in the sequence contained in G17).


Angle of rotation in [°].

The ACS is modal and may be selected and deselected independent of a CS.

Zero offsets and reference point offsets may be programmed in the ACS. However, they are only valid until the ACS is deselected and they are not stored.

Programing Example


ACS example 1

N005 P1 = 2

N010 #ACS DEF [1][P1,15,5,20,30,45](Define and store an ACS)
                                   (under ID 1:

                                   (Relative offsets: X2, Y15, Z5)

                                   (Rotations: 45° about Z, 30° about Y') (20° about X'')

N020 #ACS ON[1]                    (Activate the ACS with ID 1)



N100 #ACS OFF                      (Deselect the ACS with ID 1)



N200 P1=10

N210 #ACS ON [P1,15,5,2,3,60]      (Define and activate an ACS)

                                   (under the automatically defined ID 2)



N300 #ACS OFF    (Deselect the last ACS activated (ID2))

 (Then the ACS is deleted with ID2)


N400 M30

Programing Example


ACS example 2

N5 P1 = 2

N10 #ACS DEF [1][10,15,5,2,3,4.5]     (Define and store)
                                      (a CS under ID 1)

N20 #ACS DEF [3][0,15,5,2,3,4.5]      (Define and store)
                                      (a CS under ID 3)

N30 #ACS DEF [P1+3][2*P1,1,2,0,30,30] (Define and save an)
                                      (ACS under ID 5)

N30 #ACS ON                           (Activate the ACS with the last)
                                      (ID 5 programmed)



N60 #ACS ON [3]                       (Activate the ACS with ID 3)



N90 #ACS DEF [3][0,1.2,1.3,0,0,3]     (Redefine the ACS with ID 3)



Programing Example


ACS example 3

If several coordinate systems are selected in succession, e.g. with ACS ON [...] (without ACS_ID), they form a new linked total ACS. This must be deselected step by step by corresponding #ACS OFF.

It is permitted to select the combined ACS with and without ACS IDs but it is not recommended for the sake of NC program clarity.

Example of multiple programming of ACS (without ACS_ID):

N010 #ACS ON [0,0,0,0,0,20] (Define and activate an ACS under)
                            (the automatically defined ID 1)

                            (No offsets, only rotation 20° about Z)

N020 #ACS ON [0,0,0,0,0,30] (Define and activate an ACS under)
                            (the automatically defined ID 2)

                            (No offsets, only rotation 30° about Z)

->(This results in an ACS with a total rotation of 50° about Z)


N100 #ACS OFF   (Deselect ACS with ID 2, after that the ACS)

                (deleted with ID 2.)

->(ACS with ID 1 with a rotation of 20° about Z remains active)



N200 #ACS OFF   (Deselect ACS with ID 1, after that the ACS)

                (is deleted with ID 1 and all ACS are deselected.)



N400 M30