G-Code is the language used to program/control automated fabrication tools, such as CNCs, 3D Printers, and even some Laser Cutters.
3D printers often use
G28 to mean ‘home’ (and set reference point to 0,0,0.) This is non-standard; there is no ‘home’ command as part of G-Code. Instead the operator sets a reference point (via G28) which is the location of the tool.
G28 reference point is set via
G28.1. There is only one reference point for all work coordinate systems (
Fusion360 defaults to moving to the G28 reference point at the start of jobs. They assume that it’s set as a machine “safe spot”.
If a Fusion360 post starts by moving in a seemingly random/out-of-range location make sure you have set the
G28 reference point!
G28 Z0 will cause a move ONLY in the Z axis.
Nearly all of them interpret the GCode and may make changes to what is sent to the machine. E.g. UGS will remove
M30; Carbide Motion interprets tool change commands (which include a
T) and inserts commands to use the tool length measurement system.
Doesn’t support sub programs.
M30 - due to resetting of work offsets (full explanation here)
Fusion360’s default post processor may have some issues.
Carbid3D has one (adds tool change commands for Nomad/Carbide Motion.)
Strooom post processor might be useful.
Carbide Motion has some built in magic to use the bit setter (tool length measurement) by injecting some G-Code for GRBL. This thread has some third party macros that do the same for UGS/CNCjs etc.
A viewer will show you the G-Code and the paths defined. A simulator goes further and shows you what the final material will look like.
Translate from different data file types (e.g. images, scans, …) and convert to G-Code.
Some of these generate vector files (e.g. SVG, DXF), which can readily be converted to G-Code.