If I am getting the point of the post - what we are saying is this complicated way of converting angular motion into linear motion seems to work alright if we stick to simple straight line formula. Once we ask the computer to move the axis in a circular motion then it goes bananas.
If you think about g2 or g3 moves, these ask the computer to guide the axis around a plane in a circle. Since the plane is flat, then the distance from the centre of the circle can be easily calculated, and the vectors of the points on the circumference of the circle (two co-ordinates) can be calculated as the tool advances. As we probably know, one axis advances as per a sine wave, the other in a 90 opposition.
What you are trying to do is the equivelant of drawing a circle on the side of a sphere. You cannot represent the centres of a flat circle and a circle of the same diameter on a sphere by the same point. If you imagine drawing a circle the same size as the sphere, then a flat representation would show the diameter as D, whereas the true diameter of the circle you actually wanted to draw is pi D/2. The same is true if you imagine drawing a circle on the side of a cylinder, but only on one axis.
Your method may work - but it is not based on the actual mathmatics involved. Whilst angular mathematics is complicated it is easier working in degrees or radians where appropriate - particularly if you are going to mix flat planes (essentially two co-ordinates) with spherical or spacial measurements (essentially three co-ordinates).
No, we're not getting past the point of the post. It was intended to be a real world discussion of a back door method to accomplish 4th axis moves in a 2.5D world. Kinda like using an X,Y drawing to accomplish X, Z moves on a lathe in absence of a dedicated lathe CAD/CAM.
Drawing a circle on a sphere is far more complex than the problem in hand in that a Z axis move would be required while making the X and A axis moves. In my application the Z axis is simply in the cut or out at a fixed depth. What I am trying to accomplish is a circle on a cylinder.
The X axis move, coordinated with the A axis move, of which the A axis has been tricked into being a linear axis. Mechanically, it's a non issue as the machine is capable of it. I can machine 'O's and '0' without a problem but in the CAD/CAM software, these are created by short linear line segments, with the end appearance being a smooth circle. Splines on the other hand are true curves. I have no problem under normal circumstances on a flat surface with X & Y moves. But for some reason, at least in the past tests, substituting A for Y in the G-Code, in which A has been configured as a linear axis, causes unexpected moves with the IJ command.
I've recovered the setup file since I had the problem, it had gotten corrupted I presumed as a result of trying to run the IJ commands. Everything had been functioning properly prior to that both in X, Y mode and X, A mode with linear moves. I haven't retested since then. What I am trying to determine is whether there is something mathematically & G-Code wise that I am overlooking or not seeing or if it was just a glitch in Mach or related to the Absolute or Incremental setting, or if I need to disable or change a setting for the A axis in Mach.