linuxcnc/docs/html/gcode.html
John Thornton 0fec43bc3d Docs: combine descriptions of comments
move comment related information to one location for ease
of maintenance and searching

Signed-off-by: John Thornton <jthornton@gnipsel.com>
2012-02-11 14:37:42 -06:00

184 lines
13 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<!--
Copyright (C) 2006, 2007 Jeff Epler
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-->
<HTML>
<HEAD>
<STYLE type="text/css"><!--
table { border: 1px solid black; border-collapse: collapse; }
table #titlerow th { border-bottom: 2px solid black; border-left: 2px solid black; text-align: center; }
table #titlerow th:first-child { border-bottom: 2px solid black; border-left: 0px; text-align: center; }
table td:first-child { border-left: 0px; }
table td { border-left: 1px solid black; padding-left: .25em; padding-right: .25em; }
table th { text-align: left; border-bottom: 1px solid black; border-top: 1px solid black; }
@media print {
@page { margin: .150in; }
html { padding: 0; margin: 0; }
body { padding: 3px; margin: 3px; }
* { font-size: 8pt }
a { text-decoration: none; color: black; }
table { width: 100%; }
}
td { background: white; color: black; }
tr.odd td { background: #d9d9d9; }
tr.head td, tr.head th { background: black; color: white; }
--></STYLE>
<TITLE>LinuxCNC "G-Code" Quick Reference</TITLE>
</HEAD>
<BODY>
<TABLE ID=ref1>
<CAPTION> LinuxCNC "G-Code" Quick Reference </CAPTION>
<COL id="group"> <COL id="code"> <COL id="params"> <COL id="description">
<TR id="titlerow"> <TH>Code <TH>Parameters <TH>Description </TR>
<TR> <TH>Motion <TD COLSPAN=2 STYLE="border-bottom: 1px solid black">(X Y Z A B C U V W apply to all motions) </TR>
<TR> <TD> <A HREF="gcode/gcode.html#sec:G0">G0</A> <TD> <TD> Rapid motion </TR>
<TR> <TD> <A HREF="gcode/gcode.html#sec:G1-Linear-Motion">G1</A> <TD> <TD> Coordinated motion ("Straight feed") </TR>
<TR> <TD> <A HREF="gcode/gcode.html#sec:G2-G3-Arc">G2, G3</A> <A HREF="gcode/gcode.html#sec:G2-G3-Arc"></A> <TD> I J K or R, P <TD> Coordinated helical motion ("Arc feed") CW or CCW </TR>
<TR> <TD> <A HREF="gcode/gcode.html#sec:G4-Dwell">G4</A> <TD> P <TD> Dwell (no motion for P seconds) </TR>
<TR> <TD> <A HREF="gcode/gcode.html#sec:G38-probe">G38.2&hellip;G38.5</A> <TD> <TD> Straight probe </TR>
<TR> <TD> <A HREF="gcode/gcode.html#sec:G33-Spindle-Sync">G33</A> <TD> K <TD> Spindle-synchronized motion </TR>
<TR> <TD> <A HREF="gcode/gcode.html#sec:G33.1-Rigid-Tapping">G33.1</A> <TD> K <TD> Rigid tapping </TR>
<TR> <TD> <A HREF="gcode/gcode.html#sec:G80-Cancel-Modal">G80</A> <TD> <TD> Cancel motion mode </TR>
<TR> <TH>Canned cycles <TD COLSPAN=2>(X Y Z or U V W apply to canned cycles, depending on active plane) </TR>
<TR> <TD> <A HREF="gcode/gcode.html#sec:G81-Drilling-Cycle">G81</A>, <A HREF="gcode/gcode.html#sec:G82-Drilling-Dwell">G82</A> <TD> R L (P) <TD> Drilling cycle without (with) dwell </TR>
<TR> <TD> <A HREF="gcode/gcode.html#sec:G83-Drilling-Peck">G83</A>, <A HREF="gcode/gcode.html#sec:G73-Drilling-Cycle">G73</A> <TD> R L Q <TD> Peck and Chip-break drilling cycles </TR>
<TR> <TD> <A HREF="gcode/gcode.html#sec:G85-Boring-Feed-Out">G85</A>, <A HREF="gcode/gcode.html#sec:G89-Boring-Dwell">G89</A> <TD> R L (P) <TD> Boring cycle without (with) dwell </TR>
<TR> <TD> <A HREF="gcode/gcode.html#sec:G76-Threading-Canned">G76</A> <TD> P Z I J R K Q H L E<TD> Multipass lathe threading cycle </TR>
<TR> <TH COLSPAN=3>Distance Mode </TR>
<TR> <TD> <A HREF="gcode/gcode.html#sec:G90-G91">G90</A> <TD> <TD> Absolute distance mode </TR>
<TR> <TD> <A HREF="gcode/gcode.html#sec:G90-G91">G91</A> <TD> <TD> Incremental distance mode </TR>
<TR> <TD> <A HREF="gcode/gcode.html#sec:G90.1-G91.1">G90.1</A> <TD> <TD> Arc centers I,J,K are absolute </TR>
<TR> <TD> <A HREF="gcode/gcode.html#sec:G90.1-G91.1">G91.1</A> <TD> <TD> Arc centers I,J,K are relative to the arc's starting point </TR>
<TR> <TD> <A HREF="gcode/gcode.html#sec:G7-Diameter-Mode">G7</A> <TD> <TD> X Diameter mode (lathe) </TR>
<TR> <TD> <A HREF="gcode/gcode.html#sec:G8-Radius-Mode">G8</A> <TD> <TD> X Radius mode (lathe) </TR>
<TR> <TH COLSPAN=3>Feed Rate Mode </TR>
<TR> <TD> <A HREF="gcode/gcode.html#sec:G93-G94-G95-Mode">G93</A> <TD> <TD> Inverse time feed rate </TR>
<TR> <TD> <A HREF="gcode/gcode.html#sec:G93-G94-G95-Mode">G94</A> <TD> <TD> Units per minute feed rate </TR>
<TR> <TD> <A HREF="gcode/gcode.html#sec:G93-G94-G95-Mode">G95</A> <TD> <TD> Units per revolution </TR>
<TR> <TH COLSPAN=3>Spindle Control </TR>
<TR> <TD> <A HREF="gcode/m-code.html#sec:M3-M4-M5">M3, M4</A> <TD> S <TD> Turn spindle clockwise or counterclockwise </TR>
<TR> <TD> <A HREF="gcode/m-code.html#sec:M3-M4-M5">M5</A> <TD> <TD> Stop spindle </TR>
<TR> <TD> <A HREF="gcode/gcode.html#sec:G96-G97-Spindle">G96</A> <TD> S D <TD> CSS mode (Constant Surface Speed)</TR>
<TR> <TD> <A HREF="gcode/gcode.html#sec:G96-G97-Spindle">G97</A> <TD> <TD> RPM mode </TR>
<TR> <TH COLSPAN=3>Coolant </TR>
<TR> <TD> <A HREF="gcode/m-code.html#sec:M7-M8-M9">M7</A> <TD> <TD> Turn mist on </TR>
<TR> <TD> <A HREF="gcode/m-code.html#sec:M7-M8-M9">M8</A> <TD> <TD> Turn flood on </TR>
<TR> <TD> <A HREF="gcode/m-code.html#sec:M7-M8-M9">M9</A> <TD> <TD> Turn all coolant off </TR>
<TR> <TH COLSPAN=3>Tool Length Offset </TR>
<TR> <TD> <A HREF="gcode/gcode.html#sec:G43-G43.1">G43</A> <TD> H <TD> Use tool length offset from tool table</TR>
<TR> <TD> <A HREF="gcode/gcode.html#sec:G43-G43.1">G43.1</A> <TD> I K <TD> Use specified tool length offset for transient tool</TR>
<TR> <TD> <A HREF="gcode/gcode.html#sec:G49-Tool">G49</A> <TD> <TD> Cancel tool length offset </TR>
<TR> <TH COLSPAN=3>Stopping </TR>
<TR> <TD> <A HREF="gcode/m-code.html#sec:M0-M1">M0</A> <TD> <TD> Program Pause </TR>
<TR> <TD> <A HREF="gcode/m-code.html#sec:M0-M1">M1</A> <TD> <TD> Optional Pause </TR>
<TR> <TD> <A HREF="gcode/m-code.html#sec:M2-M30">M2, M30</A> <TD> <TD> End Program </TR>
<TR> <TD <A HREF="gcode/m-code.html#sec:M60">M60</A> <TD> <TD> Pallet Change Pause </TR>
<TR> <TH COLSPAN=3>Units </TR>
<TR> <TD> <A HREF="gcode/gcode.html#sec:G20-G21-Units">G20</A> <TD> <TD> Inches </TR>
<TR> <TD> <A HREF="gcode/gcode.html#sec:G20-G21-Units">G21</A> <TD> <TD> Millimeters </TR>
<TR> <TH>Plane Selection <TD COLSPAN=2>(affects G2, G3, G81&hellip;G89, G40&hellip;G42) </TR>
<TR> <TD> <A HREF="gcode/gcode.html#sec:G17-G18-G19">G17</A> <TD> <TD> Select XY plane </TR>
<TR> <TD> <A HREF="gcode/gcode.html#sec:G17-G18-G19">G18</A> <TD> <TD> Select XZ plane </TR>
<TR> <TD> <A HREF="gcode/gcode.html#sec:G17-G18-G19">G19</A> <TD> <TD> Select YZ plane </TR>
<TR> <TH COLSPAN=3>Cutter Radius Compensation </TR>
<TR> <TD> <A HREF="gcode/gcode.html#sec:G40">G40</A> <TD> <TD> Cancel cutter radius compensation </TR>
<TR> <TD> <A HREF="gcode/gcode.html#sec:G41-G42">G41,G42</A> <TD> D <TD> Start cutter radius compensation left or right </TR>
<TR> <TD> <A HREF="gcode/gcode.html#sec:G41.1-G42.1">G41.1, G42.1</A> <TD> D L <TD> Start cutter radius compensation left or right, transient tool </TR>
<TR> <TH COLSPAN=3>Path Control Mode </TR>
<TR> <TD> <A HREF="gcode/gcode.html#sec:G61-G61.1-G64">G61</A> <TD> <TD> Exact Path mode </TR>
<TR> <TD> <A HREF="gcode/gcode.html#sec:G61-G61.1-G64">G61.1</A> <TD> <TD> Exact Stop mode </TR>
<TR> <TD> <A HREF="gcode/gcode.html#sec:G61-G61.1-G64">G64</A> <TD> P <TD> Continuous mode with optional path tolerance </TR>
<TR> <TH COLSPAN=3>Return Mode in Canned Cycles </TR>
<TR> <TD> <A HREF="gcode/gcode.html#sec:G98-G99-Set">G98</A> <TD> <TD> Retract to prior position </TR>
<TR> <TD> <A HREF="gcode/gcode.html#sec:G98-G99-Set">G99</A> <TD> <TD> Retract to R position </TR>
<TR> <TH COLSPAN=3>Other Modal Codes </TR>
<TR> <TD> <A HREF="gcode/other-code.html#sec:F-feed-rate">F</A> <TD> <TD> Set Feed Rate </TR>
<TR> <TD> <A HREF="gcode/other-code.html#sec:S-spindle-speed">S</A> <TD> <TD> Set Spindle Speed </TR>
<TR> <TD> <A HREF="gcode/m-code.html#sec:M6-Tool-Change">T</A> <TD> <TD> Select Tool </TR>
<TR> <TD> <A HREF="gcode/m-code.html#sec:M48-M49-Override">M48&hellip;M53</A> <TD> P0 (off) or P1 (on) <TD> Feed Override, Spindle Override, Adaptive Feed, Feed Hold</TR>
<TR> <TD><A HREF="gcode/gcode.html#sec:G54-G59.3">G54&hellip;G59.3</A> <TD> <TD> Select coordinate system </TR>
<TR> <TH COLSPAN=3>Flow-control Codes </TR>
<TR> <TD> <A HREF="gcode/o-code.html#sec:subroutines">O- sub</A> <TD> <TD>Subroutines, sub/endsub call</TR>
<TR> <TD> <A HREF="gcode/o-code.html#sec:looping">O- while</A> <TD> <TD>Looping, while/endwhile do/while</TR>
<TR> <TD> <A HREF="gcode/o-code.html#sec:conditional">O- if</A> <TD> <TD>Conditional, if/else/endif</TR>
<TR> <TH COLSPAN=3>Input/Output Codes </TR>
<TR> <TD> <A HREF="gcode/m-code.html#sec:M62-M65">M62-65</A> <TD> P <TD> Digital Output Control </TR>
<TR> <TD> <A HREF="gcode/m-code.html#sec:M66-Input-Control">M66</A> <TD> P E L Q <TD> Digital and Analog Input Control </TR>
<TR> <TD> <A HREF="gcode/m-code.html#sec:M67-Analog-Output">M67</A> <TD> T <TD> Analog Output Synchronized with Motion </TR>
<TR> <TD> <A HREF="gcode/m-code.html#sec:M68-Analog-Output">M68</A> <TD> T <TD> Analog Output Immediate </TR>
<TR> <TH COLSPAN=3>Non-modal Codes </TR>
<TR> <TD> <A HREF="gcode/m-code.html#sec:M6-Tool-Change">M6</A> <TD> T <TD> Change tool </TR>
<TR> <TD> <A HREF="gcode/gcode.html#sec:G4-Dwell">G4</A> <TD> P <TD> Dwell (seconds) </TR>
<TR> <TD> <A HREF="gcode/gcode.html#sec:G10-L1_">G10 L1</A> <TD> P Q R <em>axes</em> <TD> Tool offset, radius, orientation setting </TR>
<TR> <TD> <A HREF="gcode/gcode.html#sec:G10-L10">G10 L10</A> <TD> P <em>axes</em> <TD> Tool offset, setting calculated from workpiece</TR>
<TR> <TD> <A HREF="gcode/gcode.html#G10-L11">G10 L11</A> <TD> P <em>axes</em> <TD> Tool offset, setting calculated from fixture</TR>
<TR> <TD> <A HREF="gcode/gcode.html#sec:G10-L2_">G10 L2</A> <TD> P R <em>axes</em> <TD> Coordinate system origin, rotation setting </TR>
<TR> <TD> <A HREF="gcode/gcode.html#sec:G10-L20">G10 L20</A> <TD> P <em>axes</em> <TD> Coordinate system origin setting calculated</TR>
<TR> <TD> <A HREF="gcode/gcode.html#sec:G28-G28.1">G28, G28.1</A> <TD> <TD> Return to or Set reference point 1 </TR>
<TR> <TD> <A HREF="gcode/gcode.html#sec:G30-G30.1">G30, G30.1</A> <TD> <TD> Return to or Set reference point 2 </TR>
<TR> <TD> <A HREF="gcode/gcode.html#sec:G53-Move-in">G53</A> <TD> <TD> Motion in machine coordinate system </TR>
<TR> <TD> <A HREF="gcode/gcode.html#sec:G92-G92.1-G92.2-G92.3">G92</A> <TD> <em>axes</em> <TD> Offset coordinate systems and set parameters </TR>
<TR> <TD> <A HREF="gcode/gcode.html#sec:G92-G92.1-G92.2-G92.3">G92.1</A> <TD> <TD> Cancel offset coordinate systems and set parameters to zero </TR>
<TR> <TD> <A HREF="gcode/gcode.html#sec:G92-G92.1-G92.2-G92.3">G92.2</A> <TD> <TD> Cancel offset coordinate systems but do not reset parameters </TR>
<TR> <TD> <A HREF="gcode/gcode.html#sec:G92-G92.1-G92.2-G92.3">G92.3</A> <TD> <TD> Apply parameters to offset coordinate systems </TR>
<TR> <TD> <A HREF="gcode/m-code.html#sec:M100-to-M199">M101&hellip;M199</A> <TD> P Q <TD> User-defined M-codes </TR>
<TR> <TH COLSPAN=3>Comments &amp; Messages</TR>
<TR> <TD> <A HREF="gcode/overview.html#sec:comments">(&hellip;)</A> <TD> <TD> An inline comment </TR>
<TR> <TD> <A HREF="gcode/overview.html#sec:messages">(MSG,&hellip;)</A> <TD> <TD> Display a message "<STRONG>&hellip;</STRONG>" to the user (e.g., in a popup)</TR>
<TR> <TD> <A HREF="gcode/overview.html#sec:debug-messages">(DEBUG,&hellip;)</A> <TD> <TD> Display a message (with variables substituted) like MSG</TR>
<TR> <TD> <A HREF="gcode/overview.html#sec:print-messages">(PRINT,&hellip;)</A> <TD> <TD> Display a message (with variables substituted) to stderr</TR>
</TABLE>
<SCRIPT><!--
var rows=document.evaluate('//tr', document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
var j=0;
for(var i=0; i<rows.snapshotLength; i++) {
var it = rows.snapshotItem(i);
var th = document.evaluate('th', it, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
if(th.snapshotLength) {
it.setAttribute('class', 'head');
j = 0;
} else {
if(j) it.setAttribute('class', 'odd');
j = !j;
}
}
function fixup_urls() {
var links=document.evaluate('//a[@href]', document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
for(var i=0; i<links.snapshotLength; i++) {
var it = links.snapshotItem(i);
it.setAttribute('href',
"http://linuxcnc.org/docs/devel/html/" + it.getAttribute('href'));
}
}
// In the LinuxCNC package, gcode/gcode.html is (probably) not included. In this
// case, fix up the links to point at the online version instead of a local
// version
if(document.location.protocol == "file:") {
try {
var x = document.implementation.createDocument("", "", null);
x.load("gcode/gcode.html");
x.onerror = fixup_urls;
} catch(err) {
fixup_urls();
}
}
// --></SCRIPT>
</BODY>