G-Code Interpreters

From ShapeOko
Jump to: navigation, search

G-Code is the language used to describe how a machine will move to accomplish a given task, using numerical control (NC) --- it is the most widely used NC programming language. GRBL is the most frequently used implementation for the ShapeOko.

Graphical discussion of the details of converting G-code into motor commands.

Reddit: Newbie question: How is G-Code executed by the machine?

Note: some programs such as LinuxCNC directly control the machine, so are listed on the Communication / Control page.

Type Name/Link Description
Interpreter GRBL Grbl is a free, open source (GPL for v0.9,[1] MIT/BSD for v08 and earlier[2]) high performance CNC milling controller written in optimized C that will run on a straight Arduino.
Interpreter Smoothieware Smoothieware is a G-Code interpreter which is suited for general-purpose machines as well as 3D printing. It is notable among 3D printing firmware for supporting G2 and G3 arcs, so is an excellent choice for a multi-purpose machine.
Interpreter Machinekit.io[3] Has ShapeOko support. Some reports of success.[4][5]

https://github.com/NRSoft/GSharp [6] --- pre-processor which enables support for additional G-codes.

https://www.github.com/kobaltz/rotor --- Ruby gem called Rotor that interprets GCode and will control stepper motors[7]

https://github.com/MarginallyClever/GcodeCNCDemo/tree/master/GcodeCNCDemo2Axis --- source code for a simple g-code interpreter. The interpreter reads the g-code commands line by line from the serial port, interprets them, and then executes them. To execute e.g. a move 10mm command in the X-axis, the interpreter steps the X axis motor the appropriate number of steps.[8]

There are a number of firmware options for 3D printers, some of which are also suited for use in controlling a more general-purpose CNC machine: 3D Printing: G-Code Intpreters.

List from: http://www.sawmillcreek.org/showthread.php?237402-Probotix-CNC-Nebula-Question&p=2489851#post2489851

See also Netduino CNC.



https://groups.yahoo.com/neo/groups/CNCPro/info --- old DOS program recently opensourced