### E axis vs Z axis

• 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.000G1 E-2.00000 F2400.00000G92 E0G1 X96.753 Y95.367 F7800.000G1 E2.00000 F2400.00000``

4 years ago

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/minG1 E-2.00000 F2400.00000      ; retract 2mm of filament at 2.4 m/minG92 E0                        ; reset the extruder positionG1 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....