This is a copy of something I posted on "Rotary Axis Feedrate Compensation" within Mach3.
It may be helpful in understanding the issue.
=========================================================================
All axis move in units per min. With a rotary axis those units are degrees.
So what is 120 ipm on the linear axis (desired speed of the tool in the work), is 120 degrees per min for the rotary.
That 120 degrees per min angular feedrate will make the tool move through the work at a speed dependant on the distance the tool is away from the centre of rotation. (in your case, very slowly)
So Mach has a feature to compensate the rotary axis feedrate, to accommodate differing radius that the tool is cutting at.
It is activated via the Toolpath Setup menu. Check "Use Radius for Feedrate" All the other settings in this box are to do with the toolpath display window.
On the Settings page there are three DROs labelled "Rotation Radius". IMO they would be better labelled "Origin Offset"
They are to tell Mach the distance that the relevant axis origin (Z in this case), is offset from the centre of rotation. (A axis in this case)
So if you are machining on the outer surface of a 10 unit diameter job and Z axis origin (zero) is set on that outer surface, then the correct value for the "Rotation Radius" DRO is 5. The distance that Z origin is OFFSET from centre of rotation.
If, on the other hand, the Z axis origin is at the centre of rotation (my preferred method for most jobs) then the correct value for "Rotation Radius" DRO is zero. The distance that Z origin is OFFSET from centre of rotation is zero.
Mach takes the Z axis DRO value and the "Rotation Radius" DRO value and adds them together to ascertain at what radius the tool is cutting at any one time. Then compensates the angular feedrate to have the tool move through the material at the desired speed.
Maximum velocity as set in motor tuning is honoured, so that will always be the upper feedrate limit.
Now there is one little "Gotcha". A zero value in the "Rotation Radius" DRO will automatically disable the entire feedrate compensation feature. This is a known bug and is being addressed by Artsoft at this time. Hopefully it will be fixed soon.
The workaround for this, is to use a very small value (eg. 0.001) in the "Rotation Radius" DRO when zero is the correct and desired value. Small enough to have no measurable effect on feedrate, but not zero.