the new implementation of the rack atc will handle all toolchange motion. i just finished working out the user parameter setup page, this will give users 8 unique machine mechanical rack row configurations to successfully implement directly from the rack setup page in the ui. i wrote a subroutine that will calculate which rack ID type based on 3 user XY machine coordinate position inputs for the center point of (pocket 1), (pocket 2) and (pocket 1 clearance). that rack id will be used in the remapped atc macros to dictate all of the motion and directional requirements for knowing which direction the rack is positioned on the machine, (along X or Y axis), which direction the pocket numbers are ascending from pocket 1 position, and which direction to remove the tool from the fork. this along with an ini setting for the pocket count, the traverse feedrate for the atc motion, the z clearance height and z load height will give the atc macros the required motion parameters it needs.
users will still need to properly setup their hal for IO such as drawbar, spindle orient, any safety sensors etc, but this will get the user an easy to use atc with minimal setup difficulty!