I did ask about G20 / G21 here, and didn't really get anywhere .
http://www.cnczone.com/forums/uccnc-control-software/310716-uccnc-g20-g21-g70-71-a.htmlAt that time, I thought that the issue would be rescaling the units, velocity and acceleration from one unit to the other based upon whatever was coded prefixed within the g-code.
But in hindsight, the alternative way to do this would be to just scale the blended trajectory within the motion planner. The negative side to this would be at present uccnc is not aware if the axis are linear or rotary, they are just units, hence there would be the complexity of scaling the axis trajectory within the motion planner and excluding the rotary axis, then using this as the blended trajectory......
..... its probably easier just to have a few profiles with whatever units you want to work in (linear, imperial, metric or angular) .....
complexity simplified ...... there didn't also appear to be any support for G20 / G21 as I guess most people have a softness for one or the other in their thought process / available tooling and measurement apparatus.
The thing that I've always wondered about is rounding errors with metric leadscrews on imperial setup machines or visa versa..... how big an issue are they
really, probably not much in the hobby world in the whole scheme of things, but if you were polishing lenses or reflective mirrors for a telescope could be another matter.