<p>z-axis refers typically to vertical movement</p>

<p>F references are feed rates/movement rates</p>

<p>E references are for the extruder, referencing the amount and speed to eject filament, negative e-values are retraction commands</p>

CC BY-SA 3.0
2018-02-09T11:26:40.557Z
2018-02-09T11:26:40.557Z
fred_dot_u
<p>G-CODE can be confusing as historically it was <a href="http://ws680.nist.gov/publication/get_pdf.cfm?pub_id=823374" rel="noreferrer">developed for machining tools</a> rather than FDM printers, and thus:</p>

<ul>
<li>not all available commands make sense for a 3D printer</li>
<li>some of the command do slightly different things than those one may intuitively think they do.</li>
</ul>

<p>Typically, Cartesian printers use 4 "axis": <code>X</code>, <code>Y</code> and <code>Z</code> for moving the printhead in space and <code>E</code> for "extruder".  The "extruder axis" is not in fact at all an axis in the geometrical sense of the word: it refers to the amount of filament to be moved into (extruded) or out of (retracted) the printing head.  The reason why it is considered an "axis" is that it is used in conjunction with the codes <code>G0</code> and <code>G1</code> which are for movement.</p>

<p>Confusingly, the letter <code>E</code> is <a href="https://en.wikipedia.org/wiki/G-code#Letter_addresses" rel="noreferrer">used for the precision feedrate of lathes</a> but in the 3D printing world we rather use <code>F</code> to that purpose.  As a non-native English speaker, I was further confused, because for the longest time I thought "feedrate" was referring to the amount of filament <em>fed</em> to the printing head, while in fact it is the speed at which the printing head moves (in mm/minute).</p>

<p>So to summarise, your example code "translated" would look like this:</p>

<pre><code>G1 Z0.350 F7800.000           ; move up 350 microns at 7.8 m/min
G1 E-2.00000 F2400.00000      ; retract 2mm of filament at 2.4 m/min
G92 E0                        ; reset the extruder position
G1 X96.753 Y95.367 F7800.000  ; move to X,Y (without changing Z) at 7.8 m/min
</code></pre>

<p>Should you wish to dig deeper into the topic, the <a href="http://reprap.org/wiki/G-code" rel="noreferrer">RepRap wiki page on gcode</a> is rather comprehensive.  Mind that several manufacturers add their own "special codes" to the common ones....</p>

CC BY-SA 3.0
2018-02-09T15:23:49.480Z
2018-02-09T18:58:02.497Z
2018-02-09T18:58:02.497Z
mac
<p>When using <code>G1</code> command in G-code, what is the difference between <code>Z</code>- axis and <code>E</code>- axis?</p>

<p>I see all <code>E</code>, <code>F</code> and <code>Z</code> in</p>

<pre><code>G1 Z0.350 F7800.000
G1 E-2.00000 F2400.00000
G92 E0
G1 X96.753 Y95.367 F7800.000
G1 E2.00000 F2400.00000
</code></pre>

<g-code>
E axis vs Z axis
ar2015
# E axis vs Z axis

(Asked by: username_0 on 2018-02-09)

When using G1 command in G-code, what is the difference between Z- axis and E- axis?
I see all E, F and Z in
G1 Z0.350 F7800.000
G1 E-2.00000 F2400.00000
G92 E0
G1 X96.753 Y95.367 F7800.000
G1 E2.00000 F2400.00000

**Tags:** g-code

---

## 2 answers

### Answer by username_2 on 2018-02-09. Score: 11 | Accepted answer

G-CODE can be confusing as historically it was developed for machining tools rather than FDM printers, and thus:

not all available commands make sense for a 3D printer
some of the command do slightly different things than those one may intuitively think they do.

Typically, Cartesian printers use 4 "axis": X, Y and Z for moving the printhead in space and E for "extruder".  The "extruder axis" is not in fact at all an axis in the geometrical sense of the word: it refers to the amount of filament to be moved into (extruded) or out of (retracted) the printing head.  The reason why it is considered an "axis" is that it is used in conjunction with the codes G0 and G1 which are for movement.
Confusingly, the letter E is used for the precision feedrate of lathes but in the 3D printing world we rather use F to that purpose.  As a non-native English speaker, I was further confused, because for the longest time I thought "feedrate" was referring to the amount of filament fed to the printing head, while in fact it is the speed at which the printing head moves (in mm/minute).
So to summarise, your example code "translated" would look like this:
G1 Z0.350 F7800.000           ; move up 350 microns at 7.8 m/min
G1 E-2.00000 F2400.00000      ; retract 2mm of filament at 2.4 m/min
G92 E0                        ; reset the extruder position
G1 X96.753 Y95.367 F7800.000  ; move to X,Y (without changing Z) at 7.8 m/min

Should you wish to dig deeper into the topic, the RepRap wiki page on gcode is rather comprehensive.  Mind that several manufacturers add their own "special codes" to the common ones....


---

### Answer by username_1 on 2018-02-09. Score: 3

z-axis refers typically to vertical movement

F references are feed rates/movement rates

E references are for the extruder, referencing the amount and speed to eject filament, negative e-values are retraction commands


---

