The third block moves the machine in the Z-axis to -1 with a rate of 100 mm/min. How fast this movement is done is defined in hardware. The second block makes the machine run rapidly to position (1.1,1.1,1.1) in the XYZ space from its current position. G21 defines all numerical values as millimeters. G90 is the command that defines all coordinates as absolute with an origin as a reference. The first block does two things and is kind of a very simple setup block. ExampleĪ trivial example of a couple of blocks: G90 G21 A list of the different G and M-codes can be found here and here. A complete list of all of the letters with explanations can be found here. The most important ones are arguably G (used in most movement commands), M (miscellaneous commands), X, Y and Z (the last three are used to define positions in the X,Y,Z space, absolute or incremental). These letters corresponds to different types of commands. Everywhere you look in the code you will mostly see letters with numbers behind them. A CNC mill interpreting G-code in real-time Structure and CommandsĮach new line (called block) in the G-code can be roughly regarded as a new command. G-code has many dialects or variants, but most (or all) adhere to certain common rules. G-code is the most widely used programming language for controlling industrial machines such as mills, lathes and cutters as well as 3D-printers. As a natural continuation from last week, we’re now going to talk about such toolpaths, called G-code, and how to generate those in Inkscape.
The third suggestion on why to do such a thing involved creating toolpaths for machines. In last week’s post we discussed how to create vector graphics from bitmaps in Inkscape.