<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>G-code Basics on Ivo&#39;s CNC Corner</title>
    <link>https://cnc.ibeltchev.com/docs/gcode/</link>
    <description>Recent content in G-code Basics on Ivo&#39;s CNC Corner</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <atom:link href="https://cnc.ibeltchev.com/docs/gcode/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Parser State</title>
      <link>https://cnc.ibeltchev.com/docs/gcode/parser_state/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://cnc.ibeltchev.com/docs/gcode/parser_state/</guid>
      <description>&lt;h2 id=&#34;parser-state&#34;&gt;Parser State&lt;a class=&#34;anchor&#34; href=&#34;#parser-state&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xD;&#xA;&lt;p&gt;Before you can understand and use G-code commands you have to understand the concept of parser state.&lt;/p&gt;&#xA;&lt;p&gt;The parser state is a table that remembers the last used command parameters so future commands can use them by default.&#xA;These parameters are the unit of measurement (millimeters or inches), relative or absolute positions,&#xA;movement speed (AKA &amp;ldquo;feed rate&amp;rdquo;), and more.&lt;/p&gt;&#xA;&lt;details &gt;&lt;summary title=&#34;Learn more about the parser state&#34;&gt;&lt;img src=&#34;https://cnc.ibeltchev.com/deep_dive.png&#34; width=&#34;24&#34; height=&#34;24&#34; style=&#34;vertical-align: middle; filter: invert(1)&#34; /&gt;&amp;nbsp;&lt;b&gt;Deep Dive: Parser state and movement commands&lt;/b&gt;&lt;/summary&gt;&lt;div class=&#34;markdown-inner&#34;&gt;&#xD;&#xA;&lt;p&gt;Every movement command contains coordinate values like &lt;strong&gt;X&lt;/strong&gt;, &lt;strong&gt;Y&lt;/strong&gt; or &lt;strong&gt;Z&lt;/strong&gt;.&#xA;These values can be interpreted differently depending on the current parser state. It stores things like:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Basic Movement Commands</title>
      <link>https://cnc.ibeltchev.com/docs/gcode/movement_commands/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://cnc.ibeltchev.com/docs/gcode/movement_commands/</guid>
      <description>&lt;h1 id=&#34;basic-movement-commands&#34;&gt;Basic Movement Commands&lt;a class=&#34;anchor&#34; href=&#34;#basic-movement-commands&#34;&gt;#&lt;/a&gt;&lt;/h1&gt;&#xD;&#xA;&lt;p&gt;Before reading about the movement commands, make sure you are familiar with the parser state.&#xA;It is critical to understanding how the command parameters are interpreted.&lt;br&gt;&#xA;Read about it here: &lt;a href=&#34;https://cnc.ibeltchev.com/docs/useful_commands/parser_state&#34;&gt;Parser state&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Another important concept to understand is that a movement command will only move along the specified axes. If your command only&#xA;contains a &lt;strong&gt;Z&lt;/strong&gt; coordinate, then it will only move up or down. If it contains only &lt;strong&gt;X&lt;/strong&gt; and &lt;strong&gt;Y&lt;/strong&gt;, it will only move horizontally.&#xA;(&lt;strong&gt;G28&lt;/strong&gt; and &lt;strong&gt;G30&lt;/strong&gt; are exceptions, as they will move on all axes if none are listed).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Other Useful Commands</title>
      <link>https://cnc.ibeltchev.com/docs/gcode/other_commands/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://cnc.ibeltchev.com/docs/gcode/other_commands/</guid>
      <description>&lt;h1 id=&#34;other-useful-commands&#34;&gt;Other Useful Commands&lt;a class=&#34;anchor&#34; href=&#34;#other-useful-commands&#34;&gt;#&lt;/a&gt;&lt;/h1&gt;&#xD;&#xA;&lt;h2 id=&#34;pause&#34;&gt;Pause (G4)&lt;a class=&#34;anchor&#34; href=&#34;#pause&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xD;&#xA;&lt;p&gt;&lt;strong&gt;G4&lt;/strong&gt; inserts a pause in the G-code. It is also called &amp;ldquo;dwell&amp;rdquo;.&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;G4 P3 - a 3-second pause&#xD;&#xA;G4 P0.5 - a half-second pause&#xD;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;This is useful for example when you want to insert a pause in the G-code to allow the spindle to get up to speed.&#xA;Make sure you don&amp;rsquo;t pause during actual cutting. If the tool spins in one place for long, it could burn the material and start a fire.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
