see http://www.linuxcnc.org/docview/devel/html//gcode_main.html#sub:G10:-Set-Coordinate
These are some of the ideas and questions surrounding coordinate system rotation. Pardon the unpolished format. This is very preliminary talk. If you have thoughts or you know any of the answers to outstanding questions, please add.
21:29:53 < cradek> I've been pondering G68 (coordinate system rotation) 21:30:06 < cradek> I think I could do it, if I found a full spec 21:30:17 < cradek> I don't care so much about scaling 21:30:33 < jmkasunic> hmm, could you write the quick reference entry? (that command seems like it could be hard to use) 21:30:40 < cradek> the fanuc manual someone posted leaves me with a lot of questions, but it may be the best I can find 21:30:57 < cradek> G68 X1 Y1 R45 (rotate 45 degrees around the point 1,1) 21:31:20 < cradek> or G68 R45 (rotate 45 degrees around the current point) 21:31:25 < jmkasunic> rotating and offsetting programs to match the material has been a "want" as long as I can remember 21:31:31 < cradek> yes 21:31:35 < cradek> offsets are easy of course 21:31:49 < cradek> planar rotation is not so hard 21:31:57 < cradek> arbitrary rotation is much harder 21:32:04 < jmkasunic> yeah 21:32:21 < cradek> isotropic scaling is easyish. anisotropic scaling is much harder 21:32:25 < jmkasunic> and the next step is that people would want to spec the rotation by touching off in a few different places, rather than calculating angles 21:32:39 < jmkasunic> anisotropic scaling of circles anyway 21:32:45 < cradek> that's just a matter of gcode atan[]/[] 21:32:54 < cradek> yes arcs are the real problem 21:33:22 < cradek> we should ask stuart to bring us a stack of manuals. 21:33:33 < cradek> maybe they could spare them for the week. 21:33:53 < cradek> also note that if you're rotated in XY, G18/G19 arcs are no longer planar 21:34:14 < jmkasunic> eww 21:34:35 < cradek> the fanuc manual does not say whether you can switch planes to do these arcs, or what happens if you do 21:34:35 < jmkasunic> so before you can do rotation you have to do arbitrary arcs? 21:34:39 < cradek> so maybe it's just not allowed 21:34:39 < jmkasunic> that just got a lot harder 21:34:57 < cradek> yeah I just don't know a lot of the details. 21:35:24 < jmkasunic> if you say "you can only rotate in the current plane, and as long as there is a non-zero rotation, you cannot change planes", that would simplify things a lot 21:35:30 < cradek> the fanuc manual also does not describe what happens to the other coordinate systems. (can you rotate in g54 and then switch to g55? and where is it??) 21:35:35 < jmkasunic> and satisfy many of the people who want it 21:35:49 < cradek> yes it certainly might be enough. 21:36:12 < jmkasunic> I would say (just off the cuff) that rotation commands should only affect the current coordinate system 21:36:48 < jmkasunic> in fact I might describe the command as "rotate coordinate system" 21:36:56 < cradek> I agree that seems like a reasonable thing to do 21:37:15 < jmkasunic> hmm 21:37:22 < jmkasunic> could this be an extension of G10 21:38:04 < cradek> that's a good way to think about it (although I'd rather use what seems to be the standard gcode for it) 21:38:24 < jmkasunic> thats the problem with standards, everybody has one 21:38:27 < cradek> I had not thought of the rotation "belonging" to a g5x system but that might be the ticket 21:38:52 < cradek> how it interacts with g92 is a total mystery too