<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=G-code</id>
	<title>G-code - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=G-code"/>
	<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=G-code&amp;action=history"/>
	<updated>2026-10-26T01:42:36Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>http://debianws.lexgopc.com/wiki143/index.php?title=G-code&amp;diff=5421436&amp;oldid=prev</id>
		<title>imported&gt;Sapphirepangolin: added related pages to &quot;See also&quot;</title>
		<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=G-code&amp;diff=5421436&amp;oldid=prev"/>
		<updated>2025-12-21T00:09:41Z</updated>

		<summary type="html">&lt;p&gt;added related pages to &amp;quot;See also&amp;quot;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Previous revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 00:09, 21 December 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{short description|Primary programming language used in CNC}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{short description|Primary programming language used in CNC &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;and 3D printing&lt;/ins&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{other uses|G-code (disambiguation)|G programming language (disambiguation)}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{other uses|G-code (disambiguation)|G programming language (disambiguation)}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{redirect|RS-274|the photoplotter format|Gerber format}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{redirect|RS-274|the photoplotter format|Gerber format}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l5&quot;&gt;Line 5:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 5:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Ambox&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Ambox&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| name  = G-code&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| name  = G-code&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| subst = &amp;lt;includeonly&amp;gt;{{subst:substcheck}}&amp;lt;/includeonly&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| issue = This article may require restoring an older revision.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| issue = This article may require restoring an older revision.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| talk  = RfC:_Partially_Reversing_Thumperward&amp;#039;s_deletions&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| talk  = RfC:_Partially_Reversing_Thumperward&amp;#039;s_deletions&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l38&quot;&gt;Line 38:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 37:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The first implementation of a numerical control programming language was developed at the [[MIT Servomechanisms Laboratory]] in the 1950s. In the decades that followed, many implementations were developed by numerous organizations, both commercial and noncommercial. Elements of G-code had often been used in these implementations.&amp;lt;ref&amp;gt;{{cite book | last=Xu | first=Xun | date=2009 | url=https://books.google.com/books?id=habcATPQWJ4C | title=Integrating Advanced Computer-aided Design, Manufacturing, and Numerical Control: Principles and Implementations | publisher=Information Science Reference | page=166 | isbn=978-1-59904-716-4 | via=Google Books}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite book | last=Harik | first=Ramy | author2=Thorsten Wuest | date=2019 | url=https://books.google.com/books?id=O3h0EAAAQBAJ | title=Introduction to Advanced Manufacturing | publisher=SAE International | page=116 | isbn=978-0-7680-9096-3 | via=Google Books}}&amp;lt;/ref&amp;gt; The first [[Technical standard|standardized]] version of G-code used in the United States, &amp;#039;&amp;#039;RS-274&amp;#039;&amp;#039;, was published in 1963 by the [[Electronic Industries Alliance]] (EIA; then known as Electronic Industries Association).&amp;lt;ref&amp;gt;{{cite book | last=Evans | first=John M. Jr. | date=1976 | url=https://www.govinfo.gov/content/pkg/GOVPUB-C13-2ef4aaa5a150eedcb85a1e6985e90bfa/pdf/GOVPUB-C13-2ef4aaa5a150eedcb85a1e6985e90bfa.pdf | title=National Bureau of Standards Information Report (NBSIR) 76-1094 (R): Standards for Computer Aided Manufacturing | publisher=National Bureau of Standards | page=43}}&amp;lt;/ref&amp;gt; In 1974, EIA approved &amp;#039;&amp;#039;RS-274-C&amp;#039;&amp;#039;, which merged &amp;#039;&amp;#039;RS-273&amp;#039;&amp;#039; (variable block for positioning and straight cut) and &amp;#039;&amp;#039;RS-274-B&amp;#039;&amp;#039; (variable block for contouring and contouring/positioning). A final revision of &amp;#039;&amp;#039;RS-274&amp;#039;&amp;#039; was approved in 1979, as &amp;#039;&amp;#039;RS-274-D&amp;#039;&amp;#039;.&amp;lt;ref&amp;gt;{{cite journal | last=Schenck | first=John P. | date=January 1, 1998 | url=https://link.gale.com/apps/doc/A20429590/GPS?sid=wikipedia | title=Understanding common CNC protocols | journal=Wood &amp;amp; Wood Products | publisher=Vance Publishing | volume=103 | issue=1 | page=43 | via=Gale}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{citation| title = EIA Standard RS-274-D Interchangeable Variable Block Data Format for Positioning, Contouring, and Contouring/Positioning Numerically Controlled Machines |publisher = Electronic Industries Association |location= Washington D.C. |date=February 1979}}&amp;lt;/ref&amp;gt; In other countries, the standard &amp;#039;&amp;#039;[[International Organization for Standardization|ISO]] 6983&amp;#039;&amp;#039; (finalized in 1982) is often used, but many European countries use other standards.&amp;lt;ref&amp;gt;{{cite book | last=Stark | first=J. | author2=V.&amp;amp;nbsp;K. Nguyen | date=2009 | url=https://books.google.com/books?id=RIgLRe12RD4C | chapter=STEP-compliant CNC Systems, Present and Future Directions | title=Advanced Design and Manufacturing Based on STEP | editor-last=Xu | editor-first=Xun | editor2=Andrew Yeh Ching Nee | publisher=Springer London | page=216 | isbn=978-1-84882-739-4 | via=Google Books}}&amp;lt;/ref&amp;gt;  For example, &amp;#039;&amp;#039;[[Deutsches Institut für Normung|DIN]] 66025&amp;#039;&amp;#039; is used in Germany, and PN-73M-55256 and PN-93/M-55251 were formerly used in Poland.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The first implementation of a numerical control programming language was developed at the [[MIT Servomechanisms Laboratory]] in the 1950s. In the decades that followed, many implementations were developed by numerous organizations, both commercial and noncommercial. Elements of G-code had often been used in these implementations.&amp;lt;ref&amp;gt;{{cite book | last=Xu | first=Xun | date=2009 | url=https://books.google.com/books?id=habcATPQWJ4C | title=Integrating Advanced Computer-aided Design, Manufacturing, and Numerical Control: Principles and Implementations | publisher=Information Science Reference | page=166 | isbn=978-1-59904-716-4 | via=Google Books}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite book | last=Harik | first=Ramy | author2=Thorsten Wuest | date=2019 | url=https://books.google.com/books?id=O3h0EAAAQBAJ | title=Introduction to Advanced Manufacturing | publisher=SAE International | page=116 | isbn=978-0-7680-9096-3 | via=Google Books}}&amp;lt;/ref&amp;gt; The first [[Technical standard|standardized]] version of G-code used in the United States, &amp;#039;&amp;#039;RS-274&amp;#039;&amp;#039;, was published in 1963 by the [[Electronic Industries Alliance]] (EIA; then known as Electronic Industries Association).&amp;lt;ref&amp;gt;{{cite book | last=Evans | first=John M. Jr. | date=1976 | url=https://www.govinfo.gov/content/pkg/GOVPUB-C13-2ef4aaa5a150eedcb85a1e6985e90bfa/pdf/GOVPUB-C13-2ef4aaa5a150eedcb85a1e6985e90bfa.pdf | title=National Bureau of Standards Information Report (NBSIR) 76-1094 (R): Standards for Computer Aided Manufacturing | publisher=National Bureau of Standards | page=43}}&amp;lt;/ref&amp;gt; In 1974, EIA approved &amp;#039;&amp;#039;RS-274-C&amp;#039;&amp;#039;, which merged &amp;#039;&amp;#039;RS-273&amp;#039;&amp;#039; (variable block for positioning and straight cut) and &amp;#039;&amp;#039;RS-274-B&amp;#039;&amp;#039; (variable block for contouring and contouring/positioning). A final revision of &amp;#039;&amp;#039;RS-274&amp;#039;&amp;#039; was approved in 1979, as &amp;#039;&amp;#039;RS-274-D&amp;#039;&amp;#039;.&amp;lt;ref&amp;gt;{{cite journal | last=Schenck | first=John P. | date=January 1, 1998 | url=https://link.gale.com/apps/doc/A20429590/GPS?sid=wikipedia | title=Understanding common CNC protocols | journal=Wood &amp;amp; Wood Products | publisher=Vance Publishing | volume=103 | issue=1 | page=43 | via=Gale}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{citation| title = EIA Standard RS-274-D Interchangeable Variable Block Data Format for Positioning, Contouring, and Contouring/Positioning Numerically Controlled Machines |publisher = Electronic Industries Association |location= Washington D.C. |date=February 1979}}&amp;lt;/ref&amp;gt; In other countries, the standard &amp;#039;&amp;#039;[[International Organization for Standardization|ISO]] 6983&amp;#039;&amp;#039; (finalized in 1982) is often used, but many European countries use other standards.&amp;lt;ref&amp;gt;{{cite book | last=Stark | first=J. | author2=V.&amp;amp;nbsp;K. Nguyen | date=2009 | url=https://books.google.com/books?id=RIgLRe12RD4C | chapter=STEP-compliant CNC Systems, Present and Future Directions | title=Advanced Design and Manufacturing Based on STEP | editor-last=Xu | editor-first=Xun | editor2=Andrew Yeh Ching Nee | publisher=Springer London | page=216 | isbn=978-1-84882-739-4 | via=Google Books}}&amp;lt;/ref&amp;gt;  For example, &amp;#039;&amp;#039;[[Deutsches Institut für Normung|DIN]] 66025&amp;#039;&amp;#039; is used in Germany, and PN-73M-55256 and PN-93/M-55251 were formerly used in Poland.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;During &lt;/del&gt;the 1970s &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;through &lt;/del&gt;1990s, many CNC machine tool builders attempted to overcome compatibility difficulties by standardizing on machine tool controllers built by [[Fanuc]]. [[Siemens]] was another market dominator in CNC controls, especially in Europe. In the 2010s, controller differences and incompatibility were mitigated with the widespread adoption of CAD/CAM applications that &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;were capable of outputting machine operations in &lt;/del&gt;the appropriate G-code &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;for &lt;/del&gt;a specific machine through a software tool called a post-processor (sometimes shortened to &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;just a &lt;/del&gt;&quot;post&quot;).&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;From &lt;/ins&gt;the 1970s &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;to &lt;/ins&gt;1990s, many CNC machine tool builders attempted to overcome compatibility difficulties by standardizing on machine tool controllers built by [[Fanuc]]. [[Siemens]] was another market dominator in CNC controls, especially in Europe. In the 2010s, controller differences and incompatibility were mitigated with the widespread adoption of &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[&lt;/ins&gt;CAD&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]]&lt;/ins&gt;/&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Computer-aided manufacturing|&lt;/ins&gt;CAM&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]] &lt;/ins&gt;applications that &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;could output &lt;/ins&gt;the appropriate G-code &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;to operate &lt;/ins&gt;a specific machine through a software tool called a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[&lt;/ins&gt;post-processor&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]] &lt;/ins&gt;(sometimes shortened to &quot;post&quot;).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Syntax ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Syntax ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;G-code began as a limited language that lacked constructs such as loops, conditional operators, and programmer-declared variables with [[Natural language|natural]]-word-including names (or the expressions in which to use them). It was unable to encode logic but was just a way to &quot;connect the dots&quot; where the programmer figured out many of the dots&#039; locations longhand. The latest implementations of G-code include macro language capabilities somewhat closer to a [[high-level programming language]]. Additionally, all primary manufacturers (e.g., Fanuc, Siemens, [[Heidenhain]]) provide access to [[programmable logic controller]] (PLC) data, such as axis positioning data and tool data,&amp;lt;ref&amp;gt;{{cite web  |archive-date=2014-05-03 |url=http://www.machinetoolhelp.com/Applications/macro/system_variables.html |title=Fanuc macro system variables |&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;access&lt;/del&gt;-&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;date&lt;/del&gt;=&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;2014-06-30 &lt;/del&gt;|archive-url=https://web.archive.org/web/20140503030834/http://www.machinetoolhelp.com/Applications/macro/system_variables.html }}&amp;lt;/ref&amp;gt; via variables used by NC programs. These constructs make it easier to develop automation applications.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;G-code began as a limited language that lacked constructs such as loops, conditional operators, and programmer-declared variables with [[Natural language|natural]]-word-including names (or the expressions in which to use them). It was unable to encode logic but was just a way to &quot;connect the dots&quot; where the programmer figured out many of the dots&#039; locations longhand. The latest implementations of G-code include macro language capabilities somewhat closer to a [[high-level programming language]]. Additionally, all primary manufacturers (e.g., &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[&lt;/ins&gt;Fanuc&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]]&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[&lt;/ins&gt;Siemens &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Digital Industries Software]]&lt;/ins&gt;, [[Heidenhain]]) provide access to [[programmable logic controller]] (PLC) data, such as axis positioning data and tool data,&amp;lt;ref&amp;gt;{{cite web  |archive-date=2014-05-03 |url=http://www.machinetoolhelp.com/Applications/macro/system_variables.html |title=Fanuc macro system variables|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;year=2006|url&lt;/ins&gt;-&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;status=live|publisher&lt;/ins&gt;=&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Machinetoolhelp&lt;/ins&gt;|archive-url=https://web.archive.org/web/20140503030834/http://www.machinetoolhelp.com/Applications/macro/system_variables.html }}&amp;lt;/ref&amp;gt; via variables used by NC programs. These constructs make it easier to develop automation applications.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Extensions and variations ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Extensions and variations ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l48&quot;&gt;Line 48:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 47:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Extensions and variations have been added independently by control manufacturers and machine tool manufacturers, and operators of a specific controller must be aware of the differences between each manufacturer&amp;#039;s product.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Extensions and variations have been added independently by control manufacturers and machine tool manufacturers, and operators of a specific controller must be aware of the differences between each manufacturer&amp;#039;s product.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;One standardized version of G-code, known as &#039;&#039;BCL&#039;&#039; (Binary Cutter Language), is used only on very few machines. Developed at MIT, BCL was developed to control CNC machines in terms of straight lines and arcs.&amp;lt;ref&amp;gt;{{Cite book|url=https://books.google.com/books?id=GE8vBQAAQBAJ&amp;amp;q=binary+cutter+language+gcode&amp;amp;pg=PA321|title=Information Technology Standards: Quest for the Common Byte&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;.&lt;/del&gt;|last=&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Martin.&lt;/del&gt;|first=&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Libicki&lt;/del&gt;|date=1995|publisher=Elsevier Science|isbn=978-1-4832-9248-9|location=Burlington|page=321|oclc=895436474}}&amp;lt;/ref&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;One standardized version of G-code, known as &#039;&#039;BCL&#039;&#039; (Binary Cutter Language), is used only on very few machines. Developed at MIT, BCL was developed to control CNC machines in terms of straight lines and arcs.&amp;lt;ref&amp;gt;{{Cite book|url=https://books.google.com/books?id=GE8vBQAAQBAJ&amp;amp;q=binary+cutter+language+gcode&amp;amp;pg=PA321|title=Information Technology Standards: Quest for the Common Byte|last=&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Libicki&lt;/ins&gt;|first=&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Martin&lt;/ins&gt;|date=1995|publisher=Elsevier Science|isbn=978-1-4832-9248-9|location=Burlington|page=321|oclc=895436474}}&amp;lt;/ref&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Some CNC machines use &amp;quot;conversational&amp;quot; programming, which is a [[wizard (software)|wizard]]-like programming mode that either hides G-code or completely bypasses the use of G-code. Some popular examples are Okuma&amp;#039;s Advanced One Touch (AOT), Southwestern Industries&amp;#039; ProtoTRAK, Mazak&amp;#039;s Mazatrol, Hurco&amp;#039;s Ultimax and Winmax, Haas&amp;#039; Intuitive Programming System (IPS), and Mori Seiki&amp;#039;s CAPS conversational software.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Some CNC machines use &amp;quot;conversational&amp;quot; programming, which is a [[wizard (software)|wizard]]-like programming mode that either hides G-code or completely bypasses the use of G-code. Some popular examples are Okuma&amp;#039;s Advanced One Touch (AOT), Southwestern Industries&amp;#039; ProtoTRAK, Mazak&amp;#039;s Mazatrol, Hurco&amp;#039;s Ultimax and Winmax, Haas&amp;#039; Intuitive Programming System (IPS), and Mori Seiki&amp;#039;s CAPS conversational software.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l57&quot;&gt;Line 57:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 56:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[LinuxCNC]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[LinuxCNC]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[List of computer-aided manufacturing software]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[List of computer-aided manufacturing software]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* [[3D printing]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* [[Slicer (3D printing)]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== References ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== References ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>imported&gt;Sapphirepangolin</name></author>
	</entry>
	<entry>
		<id>http://debianws.lexgopc.com/wiki143/index.php?title=G-code&amp;diff=2037416&amp;oldid=prev</id>
		<title>imported&gt;OsFish: Reverted 1 edit by Natalielaurend (talk) to last revision by Alexander Davronov</title>
		<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=G-code&amp;diff=2037416&amp;oldid=prev"/>
		<updated>2025-06-28T06:53:13Z</updated>

		<summary type="html">&lt;p&gt;Reverted 1 edit by &lt;a href=&quot;/wiki143/index.php?title=Special:Contributions/Natalielaurend&quot; title=&quot;Special:Contributions/Natalielaurend&quot;&gt;Natalielaurend&lt;/a&gt; (&lt;a href=&quot;/wiki143/index.php?title=User_talk:Natalielaurend&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;User talk:Natalielaurend (page does not exist)&quot;&gt;talk&lt;/a&gt;) to last revision by Alexander Davronov&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Previous revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 06:53, 28 June 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l42&quot;&gt;Line 42:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 42:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Syntax ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Syntax ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;G-code began as a limited language that lacked constructs such as loops, conditional operators, and programmer-declared variables with [[Natural language|natural]]-word-including names (or the expressions in which to use them). It was unable to encode logic but was just a way to &quot;connect the dots&quot; where the programmer figured out many of the dots&#039; locations longhand. The latest implementations of G-code include macro language capabilities somewhat closer to a [[high-level programming language]]. Additionally, all primary manufacturers (e.g., Fanuc&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;ref&amp;gt;{{Cite web |title=FANUC America {{!}} Automation Solutions that Redefine Productivity |url=https://www.fanucamerica.com/ |access-date=2025-05-30 |website=fanucamerica |language=en}}&amp;lt;/ref&amp;gt;&lt;/del&gt;, Siemens, [[Heidenhain]]) provide access to [[programmable logic controller]] (PLC) data, such as axis positioning data and tool data,&amp;lt;ref&amp;gt;{{cite web  |archive-date=2014-05-03 |url=http://www.machinetoolhelp.com/Applications/macro/system_variables.html |title=Fanuc macro system variables |access-date=2014-06-30 |archive-url=https://web.archive.org/web/20140503030834/http://www.machinetoolhelp.com/Applications/macro/system_variables.html }}&amp;lt;/ref&amp;gt; via variables used by NC programs. These constructs make it easier to develop automation applications.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;G-code began as a limited language that lacked constructs such as loops, conditional operators, and programmer-declared variables with [[Natural language|natural]]-word-including names (or the expressions in which to use them). It was unable to encode logic but was just a way to &quot;connect the dots&quot; where the programmer figured out many of the dots&#039; locations longhand. The latest implementations of G-code include macro language capabilities somewhat closer to a [[high-level programming language]]. Additionally, all primary manufacturers (e.g., Fanuc, Siemens, [[Heidenhain]]) provide access to [[programmable logic controller]] (PLC) data, such as axis positioning data and tool data,&amp;lt;ref&amp;gt;{{cite web  |archive-date=2014-05-03 |url=http://www.machinetoolhelp.com/Applications/macro/system_variables.html |title=Fanuc macro system variables |access-date=2014-06-30 |archive-url=https://web.archive.org/web/20140503030834/http://www.machinetoolhelp.com/Applications/macro/system_variables.html }}&amp;lt;/ref&amp;gt; via variables used by NC programs. These constructs make it easier to develop automation applications.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Extensions and variations ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Extensions and variations ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>imported&gt;OsFish</name></author>
	</entry>
	<entry>
		<id>http://debianws.lexgopc.com/wiki143/index.php?title=G-code&amp;diff=605186&amp;oldid=prev</id>
		<title>imported&gt;Natalielaurend at 13:22, 30 May 2025</title>
		<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=G-code&amp;diff=605186&amp;oldid=prev"/>
		<updated>2025-05-30T13:22:51Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{short description|Primary programming language used in CNC}}&lt;br /&gt;
{{other uses|G-code (disambiguation)|G programming language (disambiguation)}}&lt;br /&gt;
{{redirect|RS-274|the photoplotter format|Gerber format}}&lt;br /&gt;
{{More footnotes needed|date=January 2025}}&lt;br /&gt;
{{Ambox&lt;br /&gt;
| name  = G-code&lt;br /&gt;
| subst = &amp;lt;includeonly&amp;gt;{{subst:substcheck}}&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
| issue = This article may require restoring an older revision.&lt;br /&gt;
| talk  = RfC:_Partially_Reversing_Thumperward&amp;#039;s_deletions&lt;br /&gt;
| date  = May 13, 2025&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox programming language&lt;br /&gt;
| name = G-code&lt;br /&gt;
| file ext = .gcode, .mpt, .mpf, .nc and several others&lt;br /&gt;
| paradigm = [[Procedural programming|Procedural]], [[Imperative programming|imperative]]&lt;br /&gt;
| released = {{Start date|1963}} (RS-274)&lt;br /&gt;
| designer = [[Massachusetts Institute of Technology]]&lt;br /&gt;
| developer = [[Electronic Industries Alliance|Electronic Industries Association]] (RS-274), [[International Organization for Standardization]] (ISO-6983)&lt;br /&gt;
| implementations = Numerous; mainly [[Siemens]] Sinumerik, [[FANUC]], [[Haas Automation|Haas]], [[Heidenhain]], [[Yamazaki Mazak Corporation|Mazak]], [[Okuma Corporation|Okuma]]&lt;br /&gt;
| dialects =&lt;br /&gt;
| influenced by =&lt;br /&gt;
| influenced =&lt;br /&gt;
| programming language =&lt;br /&gt;
| platform =&lt;br /&gt;
| operating system =&lt;br /&gt;
| license =&lt;br /&gt;
| website =&lt;br /&gt;
| wikibooks =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;G-code&amp;#039;&amp;#039;&amp;#039; (abbreviation for &amp;#039;&amp;#039;&amp;#039;geometric code&amp;#039;&amp;#039;&amp;#039;; also called&amp;lt;ref&amp;gt;{{cite tech report |editor1-last=Barkmeyer |editor1-first=Edward J. |editor2-last=Hopp |editor2-first=Theodore H. |editor3-last=Michael J. |editor3-first=Pratt |editor4-last=Gaylen R. |editor4-first=Rinaudot |title=Background Study: Requisite Elements, Rationale, and Technology Overview for the Systems Integration for Manufacturing Applications (SIMA) Program |date=1995 |publisher=NIST Technical Series Publications |location=Gaithersburg, MD, USA |pages=45 |edition=NIST Interagency/Internal Report (NISTIR) 5662 |url=https://nvlpubs.nist.gov/nistpubs/Legacy/IR/nistir5662.pdf}}&amp;lt;/ref&amp;gt; &amp;#039;&amp;#039;&amp;#039;RS-274&amp;#039;&amp;#039;&amp;#039;,&amp;lt;ref&amp;gt;{{cite book |title=EIA Standard RS-274-D Interchangeable Variable Block Data Format for Positioning, Contouring, and Contouring/Positioning Numerically Controlled Machines |date=February 1979 |publisher=Electronic Industries Association |location=2001 Eye Street, NW, Washington, D.C. 20006 |url=https://search.worldcat.org/de/title/11135300 |ref=RS-274-D}}&amp;lt;/ref&amp;gt; standardized today in &amp;#039;&amp;#039;&amp;#039;ISO 6983-1&amp;#039;&amp;#039;&amp;#039;&amp;lt;ref&amp;gt;{{cite tech report |editor1-last=Technical Committee ISO/TC 184/SC 1 |title=ISO 6983-1:2009 Automation systems and integration — Numerical control of machines — Program format and definitions of address words; Part 1: Data format for positioning, line motion and contouring control systems |date=December 2009 |publisher=International Standards Organization |location=Geneva, Switzerland |url=https://www.iso.org/standard/34608.html |ref=ISO 6983:2009}}&amp;lt;/ref&amp;gt;) is the most widely used [[computer numerical control]] (CNC) and [[3D printing]] [[programming language]]. It is used mainly in [[computer-aided manufacturing]] to control automated [[machine tool]]s, as well as for [[Slicer (3D printing)|3D-printer slicer applications]]. G-code has many variants.&lt;br /&gt;
&lt;br /&gt;
G-code instructions are provided to a [[Programmable logic controller|machine controller]] (industrial computer) that tells the motors where to move, how fast to move, and what path to follow. The two most common situations are that, within a machine tool such as a [[Metal lathe|lathe]] or [[Milling (machining)|mill]], a [[cutting tool (machining)|cutting tool]] is moved according to these instructions through a toolpath cutting away material to leave only the finished workpiece and/or an unfinished workpiece is precisely positioned in any of up to nine axes&amp;lt;ref&amp;gt;Karlo Apro (2008). &amp;#039;&amp;#039;[https://books.google.com/books?id=Ws228Aht0bcC Secrets of 5-Axis Machining]&amp;#039;&amp;#039;. Industrial Press Inc. {{ISBN|0-8311-3375-9}}.&amp;lt;/ref&amp;gt; around the three dimensions relative to a toolpath and, either or both can move relative to each other. The same concept also extends to noncutting tools such as [[Forming (metalworking)|forming]] or [[Burnishing (metal)|burnishing]] tools, [[Gerber format|photoplotting]], additive methods such as 3D printing, and measuring instruments.&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
&lt;br /&gt;
The first implementation of a numerical control programming language was developed at the [[MIT Servomechanisms Laboratory]] in the 1950s. In the decades that followed, many implementations were developed by numerous organizations, both commercial and noncommercial. Elements of G-code had often been used in these implementations.&amp;lt;ref&amp;gt;{{cite book | last=Xu | first=Xun | date=2009 | url=https://books.google.com/books?id=habcATPQWJ4C | title=Integrating Advanced Computer-aided Design, Manufacturing, and Numerical Control: Principles and Implementations | publisher=Information Science Reference | page=166 | isbn=978-1-59904-716-4 | via=Google Books}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite book | last=Harik | first=Ramy | author2=Thorsten Wuest | date=2019 | url=https://books.google.com/books?id=O3h0EAAAQBAJ | title=Introduction to Advanced Manufacturing | publisher=SAE International | page=116 | isbn=978-0-7680-9096-3 | via=Google Books}}&amp;lt;/ref&amp;gt; The first [[Technical standard|standardized]] version of G-code used in the United States, &amp;#039;&amp;#039;RS-274&amp;#039;&amp;#039;, was published in 1963 by the [[Electronic Industries Alliance]] (EIA; then known as Electronic Industries Association).&amp;lt;ref&amp;gt;{{cite book | last=Evans | first=John M. Jr. | date=1976 | url=https://www.govinfo.gov/content/pkg/GOVPUB-C13-2ef4aaa5a150eedcb85a1e6985e90bfa/pdf/GOVPUB-C13-2ef4aaa5a150eedcb85a1e6985e90bfa.pdf | title=National Bureau of Standards Information Report (NBSIR) 76-1094 (R): Standards for Computer Aided Manufacturing | publisher=National Bureau of Standards | page=43}}&amp;lt;/ref&amp;gt; In 1974, EIA approved &amp;#039;&amp;#039;RS-274-C&amp;#039;&amp;#039;, which merged &amp;#039;&amp;#039;RS-273&amp;#039;&amp;#039; (variable block for positioning and straight cut) and &amp;#039;&amp;#039;RS-274-B&amp;#039;&amp;#039; (variable block for contouring and contouring/positioning). A final revision of &amp;#039;&amp;#039;RS-274&amp;#039;&amp;#039; was approved in 1979, as &amp;#039;&amp;#039;RS-274-D&amp;#039;&amp;#039;.&amp;lt;ref&amp;gt;{{cite journal | last=Schenck | first=John P. | date=January 1, 1998 | url=https://link.gale.com/apps/doc/A20429590/GPS?sid=wikipedia | title=Understanding common CNC protocols | journal=Wood &amp;amp; Wood Products | publisher=Vance Publishing | volume=103 | issue=1 | page=43 | via=Gale}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{citation| title = EIA Standard RS-274-D Interchangeable Variable Block Data Format for Positioning, Contouring, and Contouring/Positioning Numerically Controlled Machines |publisher = Electronic Industries Association |location= Washington D.C. |date=February 1979}}&amp;lt;/ref&amp;gt; In other countries, the standard &amp;#039;&amp;#039;[[International Organization for Standardization|ISO]] 6983&amp;#039;&amp;#039; (finalized in 1982) is often used, but many European countries use other standards.&amp;lt;ref&amp;gt;{{cite book | last=Stark | first=J. | author2=V.&amp;amp;nbsp;K. Nguyen | date=2009 | url=https://books.google.com/books?id=RIgLRe12RD4C | chapter=STEP-compliant CNC Systems, Present and Future Directions | title=Advanced Design and Manufacturing Based on STEP | editor-last=Xu | editor-first=Xun | editor2=Andrew Yeh Ching Nee | publisher=Springer London | page=216 | isbn=978-1-84882-739-4 | via=Google Books}}&amp;lt;/ref&amp;gt;  For example, &amp;#039;&amp;#039;[[Deutsches Institut für Normung|DIN]] 66025&amp;#039;&amp;#039; is used in Germany, and PN-73M-55256 and PN-93/M-55251 were formerly used in Poland.&lt;br /&gt;
&lt;br /&gt;
During the 1970s through 1990s, many CNC machine tool builders attempted to overcome compatibility difficulties by standardizing on machine tool controllers built by [[Fanuc]]. [[Siemens]] was another market dominator in CNC controls, especially in Europe. In the 2010s, controller differences and incompatibility were mitigated with the widespread adoption of CAD/CAM applications that were capable of outputting machine operations in the appropriate G-code for a specific machine through a software tool called a post-processor (sometimes shortened to just a &amp;quot;post&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
== Syntax ==&lt;br /&gt;
&lt;br /&gt;
G-code began as a limited language that lacked constructs such as loops, conditional operators, and programmer-declared variables with [[Natural language|natural]]-word-including names (or the expressions in which to use them). It was unable to encode logic but was just a way to &amp;quot;connect the dots&amp;quot; where the programmer figured out many of the dots&amp;#039; locations longhand. The latest implementations of G-code include macro language capabilities somewhat closer to a [[high-level programming language]]. Additionally, all primary manufacturers (e.g., Fanuc&amp;lt;ref&amp;gt;{{Cite web |title=FANUC America {{!}} Automation Solutions that Redefine Productivity |url=https://www.fanucamerica.com/ |access-date=2025-05-30 |website=fanucamerica |language=en}}&amp;lt;/ref&amp;gt;, Siemens, [[Heidenhain]]) provide access to [[programmable logic controller]] (PLC) data, such as axis positioning data and tool data,&amp;lt;ref&amp;gt;{{cite web  |archive-date=2014-05-03 |url=http://www.machinetoolhelp.com/Applications/macro/system_variables.html |title=Fanuc macro system variables |access-date=2014-06-30 |archive-url=https://web.archive.org/web/20140503030834/http://www.machinetoolhelp.com/Applications/macro/system_variables.html }}&amp;lt;/ref&amp;gt; via variables used by NC programs. These constructs make it easier to develop automation applications.&lt;br /&gt;
&lt;br /&gt;
== Extensions and variations ==&lt;br /&gt;
&lt;br /&gt;
Extensions and variations have been added independently by control manufacturers and machine tool manufacturers, and operators of a specific controller must be aware of the differences between each manufacturer&amp;#039;s product.&lt;br /&gt;
&lt;br /&gt;
One standardized version of G-code, known as &amp;#039;&amp;#039;BCL&amp;#039;&amp;#039; (Binary Cutter Language), is used only on very few machines. Developed at MIT, BCL was developed to control CNC machines in terms of straight lines and arcs.&amp;lt;ref&amp;gt;{{Cite book|url=https://books.google.com/books?id=GE8vBQAAQBAJ&amp;amp;q=binary+cutter+language+gcode&amp;amp;pg=PA321|title=Information Technology Standards: Quest for the Common Byte.|last=Martin.|first=Libicki|date=1995|publisher=Elsevier Science|isbn=978-1-4832-9248-9|location=Burlington|page=321|oclc=895436474}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some CNC machines use &amp;quot;conversational&amp;quot; programming, which is a [[wizard (software)|wizard]]-like programming mode that either hides G-code or completely bypasses the use of G-code. Some popular examples are Okuma&amp;#039;s Advanced One Touch (AOT), Southwestern Industries&amp;#039; ProtoTRAK, Mazak&amp;#039;s Mazatrol, Hurco&amp;#039;s Ultimax and Winmax, Haas&amp;#039; Intuitive Programming System (IPS), and Mori Seiki&amp;#039;s CAPS conversational software.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Canned cycle]]&lt;br /&gt;
* [[Direct Numerical Control]]&lt;br /&gt;
* [[LinuxCNC]]&lt;br /&gt;
* [[List of computer-aided manufacturing software]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
{{Reflist}}&lt;br /&gt;
&lt;br /&gt;
== Bibliography ==&lt;br /&gt;
* {{MachinerysHandbook25e}}&lt;br /&gt;
* {{Smid2008}}&lt;br /&gt;
* {{Smid2010}}&lt;br /&gt;
* {{Citation |last=Smid |first=Peter |year=2004 |title=Fanuc CNC Custom Macros |publisher=Industrial Press |url=https://books.google.com/books?id=YKvH-zYd3VwC&amp;amp;pg=PR11 |isbn=978-0-8311-3157-9 |postscript=.}}&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [http://carlsonmfg.com/cnc-g-code-m-code-programming CNC G-Code and M-Code Programming]&lt;br /&gt;
* {{Citation |last1=Kramer |first1=T. R. |last2=Proctor |first2=F. M. |last3=Messina |first3=E. R. |title=The NIST RS274NGC Interpreter – Version 3 |date=1 Aug 2000 |id=NISTIR 6556 |journal=[[NIST]] |url=https://www.nist.gov/manuscript-publication-search.cfm?pub_id=823374 |ref=none}}&lt;br /&gt;
* http://museum.mit.edu/150/86 {{Webarchive|url=https://web.archive.org/web/20160319102859/http://museum.mit.edu/150/86 |date=2016-03-19 }} Has several links (including history of MIT Servo Lab)&lt;br /&gt;
* [http://reprap.org/wiki/G-code Complete list of G-code used by most 3D printers] at reprap.org&lt;br /&gt;
* [http://www.cnccookbook.com/CCCNCGCodeList.html Fanuc and Haas G-code Reference]&lt;br /&gt;
* [http://www.cnccookbook.com/CCCNCGCodeCourse.htm Fanuc and Haas G-code Tutorial]&lt;br /&gt;
* [https://www.haascnc.com/content/dam/haascnc/en/service/manual/operator/english---mill-ngc---operator&amp;#039;s-manual---2017.pdf Haas Milling Manual]&lt;br /&gt;
* [https://www.cncknowledge.in/2020/05/haas-cnc-g-code-list-for-lathe-milling.html G Code For Lathe &amp;amp; Milling]&lt;br /&gt;
* [https://www.cncknowledge.in/2020/05/haas-cnc-m-code-list-for-lathe-milling.html M Code for Lathe &amp;amp; Milling]&lt;br /&gt;
&lt;br /&gt;
{{Metalworking navbox|machopen}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Computer-aided engineering]]&lt;br /&gt;
[[Category:Domain-specific programming languages]]&lt;br /&gt;
[[Category:Encodings]]&lt;br /&gt;
[[Category:Metalworking]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Natalielaurend</name></author>
	</entry>
</feed>