<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.opensourceecology.org/index.php?action=history&amp;feed=atom&amp;title=G-Code_Development</id>
	<title>G-Code Development - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.opensourceecology.org/index.php?action=history&amp;feed=atom&amp;title=G-Code_Development"/>
	<link rel="alternate" type="text/html" href="https://wiki.opensourceecology.org/index.php?title=G-Code_Development&amp;action=history"/>
	<updated>2026-05-13T01:27:36Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.13</generator>
	<entry>
		<id>https://wiki.opensourceecology.org/index.php?title=G-Code_Development&amp;diff=183330&amp;oldid=prev</id>
		<title>Marcin: Marcin moved page G-code development to G-Code Development</title>
		<link rel="alternate" type="text/html" href="https://wiki.opensourceecology.org/index.php?title=G-Code_Development&amp;diff=183330&amp;oldid=prev"/>
		<updated>2018-12-22T04:26:34Z</updated>

		<summary type="html">&lt;p&gt;Marcin moved page &lt;a href=&quot;/wiki/G-code_development&quot; class=&quot;mw-redirect&quot; title=&quot;G-code development&quot;&gt;G-code development&lt;/a&gt; to &lt;a href=&quot;/wiki/G-Code_Development&quot; title=&quot;G-Code Development&quot;&gt;G-Code Development&lt;/a&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 04:26, 22 December 2018&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Marcin</name></author>
	</entry>
	<entry>
		<id>https://wiki.opensourceecology.org/index.php?title=G-Code_Development&amp;diff=43224&amp;oldid=prev</id>
		<title>Chris F: Created page with &quot;=Overview= G-Code research conducted in research of the {{torch table}}  ==G-Code== Or how I actually tell the Torch Table to move.   G-code is a loose standard. That means i...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.opensourceecology.org/index.php?title=G-Code_Development&amp;diff=43224&amp;oldid=prev"/>
		<updated>2011-09-27T13:09:34Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;=Overview= G-Code research conducted in research of the {{torch table}}  ==G-Code== Or how I actually tell the Torch Table to move.   &lt;a href=&quot;/wiki/G-code&quot; title=&quot;G-code&quot;&gt;G-code&lt;/a&gt; is a loose standard. That means i...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=Overview=&lt;br /&gt;
G-Code research conducted in research of the {{torch table}}&lt;br /&gt;
&lt;br /&gt;
==G-Code==&lt;br /&gt;
Or how I actually tell the Torch Table to move. &lt;br /&gt;
&lt;br /&gt;
[[G-code]] is a loose standard. That means if you take some other G Code that you did not write, there is a good chance it will not work. The reason is that each G Code interpreter, be it [[EMC2]], RepRap motherboard, or fancy six axis robotic arm controller were all produced for a specific job which require a specific tool path, on a specific machine. Now if you&amp;#039;re a computer scientest or programmer, you&amp;#039;re going &amp;quot;wait a minute, why don&amp;#039;t they just make the language more intelligent, add in a required machine descriptor and abstract the tool path away from the user which forces users to hand craft each part they want to make!&amp;quot; Which is a valid point, and I would encourage someone to come up with a better language, because G Code sucks. &lt;br /&gt;
&lt;br /&gt;
===G-code, ala EMC2===&lt;br /&gt;
Or how prototype 1 is put together.&lt;br /&gt;
&lt;br /&gt;
* EMC2 [[G-code]] quick lookup guide - http://linuxcnc.org/docs/html/gcode.html&lt;br /&gt;
* Invaluable [[EMC2]] user generated documentation wiki - http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl&lt;br /&gt;
* EMC2 G-code guide with regards to using a plasma cutter - http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?Plasma&lt;br /&gt;
Because we don&amp;#039;t have an &amp;quot;arc stable, good to cut&amp;quot; we will use a delay instead which means that we&amp;#039;ll have to find someplace on the material we can &amp;quot;burn into&amp;quot; while the arc stabilizes. This will have to be hand coded to some extent I am afraid.  &lt;br /&gt;
&lt;br /&gt;
There is a lot of good information in the manual which will be nessisary to hand craft G-code - [http://www.linuxcnc.org/docs/2.3/html/gcode_overview.html G-code overview]&lt;br /&gt;
&lt;br /&gt;
The other option is to use a program to generate g code from a drawing or cad software. The problem with this is that it usually does a point by point move, where a human operator could use a loop and arc move instead to achieve the same results. Furthermore, because there is no guarantee that they conform to the same g code standards as your controller, it is likely that any g code that is automatically generated will need to be tweaked first. If it isn&amp;#039;t apparent yet, g code is time intensive to produce. Its saving grace is that once you have it, you can run the same program over and over again. &lt;br /&gt;
&lt;br /&gt;
Lets take a look at the below file that was generated using [http://www.inkscape.org/ Inkscape] and this [http://bitbucket.org/jst/inkscape-gcode/overview/ G-code plugin]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(Found 1 paths for AllObjects:)&lt;br /&gt;
G20 (All units in inches)&lt;br /&gt;
#1=0.5000 (Height to traverse when not cutting)&lt;br /&gt;
#2=0.0000 (Height to cut at)&lt;br /&gt;
#3=10.0000 (Tool feed rate)&lt;br /&gt;
#4=1.0000 (X axis scale factor)&lt;br /&gt;
#5=1.0000 (Y axis scale factor)&lt;br /&gt;
(Path has size 36.000 x 54.000)&lt;br /&gt;
(Path has bounding box 4.500-40.500 wide by 4.000-58.000 high)&lt;br /&gt;
G00 Z#1 &lt;br /&gt;
G00 X[4.5000*#4] Y[58.0000*#5] &lt;br /&gt;
G00 F#3 Z#2 &lt;br /&gt;
G01 X[4.5000*#4] Y[58.0000*#5] &lt;br /&gt;
G01 X[36.0000*#4] Y[58.0000*#5] &lt;br /&gt;
G01 X[4.5000*#4] Y[35.5000*#5] &lt;br /&gt;
G01 X[40.5000*#4] Y[31.0000*#5] &lt;br /&gt;
G01 X[13.5000*#4] Y[13.0000*#5] &lt;br /&gt;
G00 Z#1 &lt;br /&gt;
G00 X[0.0*#4] Y[0.0*#5] &lt;br /&gt;
M2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This program has options for some basic conveniences, but its true power is that it allows for a simple conversion path from a drawn path to actual g code. That being said, I wouldn&amp;#039;t use it for anything more complex than making holes and contours. Luckily thats what most people want it for.&lt;br /&gt;
&lt;br /&gt;
For example, the # with a number following allows for macro variable replacement, so minor changes, like going from millimeter to inches, isn&amp;#039;t such a pain. &lt;br /&gt;
&lt;br /&gt;
More info can be had at by looking to the emc2 manual for information on G code. &lt;br /&gt;
&lt;br /&gt;
Other sources for g code generated goodness.&lt;br /&gt;
TBC&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
*{{Torch Table}}&lt;br /&gt;
*[[G-code]]&lt;br /&gt;
*[[Digital Fabrication]]&lt;/div&gt;</summary>
		<author><name>Chris F</name></author>
	</entry>
</feed>