you need to set your macro to use the offset position of the x and z from the center of rotation , program header is the best place to add these variables ,
eg:
o00023
(header)
#101= 1.025 (Y offset A0)
#102= -.5 (Z distance between tool probe and part z zero @ A0)
#103= 0 (ANGLE)
#120= -2.525 (SHIFT FROM TOOL PROBE T0 Z0 AT A0 center of rotation)
#103= 90. (rotation)
M97 P8989 (macro sub call)
G52 X-6. Y#109 Z#110
g0 a#103
main program
if your qualifying tools from the top of the part then scratch the toolprobe and set z variable(eg #102) as the distance from the center of rotation
,then you'll need to do some addition , subtraction and a bit of trig in your macro in order to calculate the new rotated position , its not too bad once you get your head wrapped around it
.
A poet knows no boundary yet he is bound to the boundaries of ones own mind !! ........