First thing to say is I reckon your attitude stinks. You have had many threads over the last few weeks and in everyone of them you have complained that the info you are getting is confusing and varied and you blame everyone for giving you confusing and contradicting info. The reason for that however is, as you have said yourself, that your questions are not asking what you are really wanting, for example it took you many posts in this thread before you actually said what you wanted, if you had said that in your first question the reply you wanted to hear would have been there right away.
You need to lighten up and realise that people here try to help one another the best they can, no one is out to get you.
Ok if you are still reading its onto your question, I am not sure if what you are wanting would be the best way as you would need to make sure any motion had halted before you reset your machine coords for the A axis to zero, that would require a bt more complicated code in the macropump so that as soon as the DRO reached your set amount it wouldnt screw things up. It would be much simpler to either just press the Ref A button every now and then (presuming you dont have a home switch on the A) and the machine coords will be reset. You could also write a macro (rather than a macropump) and place it in the macro folder for your profile, if you named it M111.m1s, for example, then every time you called M111 from code or MDI your macro would be executed. All you would need in that macro is
DoOemButton(25)
or you could have
SetMachZero(3)
They would both do the same thing as far as machine coords for the A is concerned.
Now as for the linear axis, I am taking my life in my hands here again risking you complaining that I am giving you false info again. However you may be misunderstanding what has been meant and I will give you an example of my coil winder. I have the spindle of the coilwinder set as A Axis, I have it set as a linear axis, ie 1 rev of the motor equates to 1 unit in motor tuning. Mach doesnt know or care whether it is moving along a straight line or actually roatating, all it does is move it one unit when its asked to do so. If I want to do half a revolution I would comman G0A.5, 1/4 rev would be G0A.25, 100th of a Rev would be G0A.01 etc etc.
Whether that would be of use to you I do not know but just thought I would try to clear it up.
Hood