I have always wanted a 4th axis attachment, but the vector/toolpath wrapping process seemed a bit cumbersome for cylindrical objects like spindles.
The controlled Z profile along a straight X axis translation is possible with the FlutePlus gadget.
The problems were that (1) my Mach3 / G540 system could only spin at ~180 rpm, and (2) Mach3 won't let you freely rotate the A or B axis while running the gcode program that moves Z and X to make the spindle shape.
These videos show my hardware + software solution. I built an embedded computer that sits between the G540 and the Mach3 PC on the parallel port wires. In 'external mode' all Mach3 signals are echoed over to the G540, and it is a normal 4th axis rig. In 'internal mode', the A axis step/dir pulses are provided by the embedded computer, leaving X-Y-Z to be controlled by Mach3. This can generate pulses faster than the G540 can accept, and with my NEMA23 motor it can reliably spin the material at 1000 rpm, CW or CCW. This is much faster than I expect to use. It can be just as easily wired up between a BOB and a single channel stepper driver.
Because the embedded computer also counts the pulses it makes, it always knows exactly where it is. Whenever the motor is stopped, it automatically rotates back to the starting position, so you can resume operation under Mach3 control with a known geometry. It can keep track for ~10 hours of constant turning at 1000 rpm.
It also monitors the EStop signal from the G540 to the PC; if tripped, it shuts down the pulse generator, so when the EStop is released it doesn't automatically spin up again.
There are still many inputs available on the embedded; they may get used for temperature monitors or ...
Comments and suggestions are always welcome!