for the machine to interpolate in the XZ instead of point to point it need to tell the machine that there is a change in the plane from XY to Xz and to handle the arc interp in this plane like shown here. (G18 G3 X2.8784 Z1.6166 R1.5001 --------------------------------------- why now G18?)
Sorry you do not like it but you will like the finshis and less code even more.