From ShapeOko
Jump to: navigation, search

Note that some CAD programs are able to directly export to G-code, and certain other special purpose CAD tools may serve for CAM functions. Also see Free software section in Wikipedia CAM. See also Interactive G-Code Generators.

A welcome feature would be automatically returning to the origin, say by adding G0 X0 Y0 Z0 at the end of files (prefaced by a G0 Z<safety height>).

Please note that commercial software, as well as otherwise free programs, which have significant licensing limitations have been moved to their own page.



Type Name/Link Description
Hand Coded gcode tutorial Reference material to get you started writing gcode by hand. This is a great point of reference once you get into creating your own gcode, or if you need to modify generated gcode.

There is a list if editors for G-Code (some of which have syntax highlighting) on the Programming page.

Graphical Editor RapR3D Visual GCode Editor Free (beta, donation-ware) graphical tool for Windows allowing point-click-drag editing of G-code files.

2D (Laser or plasma machines)

Type Name/Link Description
2D Laser laser-code Part-cutting software which does a “travelling salesman” routine to determine optimal path.
2D Laser SnapFracturePop's Laser GCode converter Tool to modify G-code for use on a laser.

See also Font to G-Code CNC VB2005E which allows one to directly convert text using any Windows font into G-code which will cut to a specified depth.

Windows: --- Image to Gcode converter, it is designed for laser engravers based on GRBL.


Type Name/Link Description
2.5D web based CAD + CAM Easel Browser-based CAD + CAM + Machine Control app made by Inventables that lets you design, generate toolpaths, preview in 3D and send the job to your machine from one web app. Easel Google group.
2.5D web based MakerCAM[1] Open source and web based software in Flash based on PartKam. Hosted and maintained by Edward Ford.
2.5D PathCAM Open Source Toolpath generation software, available for Windows and Ubuntu. Supports .stl .obj .dae files. Sends GCode to GRBL v8.0c.
2.5D jscut[2] Converts SVG files to CNC cutting paths. GPL, source available on github.
2.5D engraving (opensource) Gcodetools Inkscape plug-in.
2.5D engraving (opensource) F-Engrave Python program for generating G-code from outline fonts (w/ algebraic analysis of outlines to vary depth when using a v-shaped bit and the ability to place text on an arc), (some) dxf files, pbm graphics (using potrace). See also

Blog post w/ an Intro to V Carving @

2.5D Image engraving Scan2 CNC Convert image to G-Code.
2.5D Image engraving Reactor and Halftoner Windows programs (requiring DOT NET 3.5) to engrave pixel maps as either halftones or dot patterns.
2.5D Image engraving (opensource) Dmap2gcode Generates g-code to cut depth

based on a gray scale image darkness or lightness.

2.5D engraving CNC Lithophane Toolpath Generator Program Lithophanes obtain their shading by having different thicknesses of translucent material to perform shading, and then are back lit.
2.5D pocketing and PCBs BCAM - offline foss CAM Open source and is written in python. Project at packaged for ubuntu utopic Uses
2.5D engraving LoboCNC LoboLitho.exe Very basic Windows program for converting bitmap images (.bmp files) to G-Code for carving lithopanes. C++ source inlcuded


Type Name/Link Description
3D modeling GSimple Program to design 3D objects and generate the G-code for them. Made for Windows but runs on Linux with Wine. Not capable of true 3D, better suited for steel, G-code needs post-processing.[3]
3D modeling HeeksCNC A CAD/CAM application for Windows or Linux that can help you produce NC code. How to use different operations in HeeksCNC. When importing DXF from Inkscape, only check "use ROBO-Master type of spline output" and set the base unit as mm.[4]
3D modeling PhlatScript Google SketchUp plugin for generating G-code.
3D modeling FreeMill Free 3D Machining with very easy to use wizard. Accepts .stl files.[5]
3D CAM PyCAM A toolpath generator for 3-axis CNC machining. It loads 3D models in STL format or 2D contour models from DXF or SVG files. The stable release is working but extremely slow and uses a lot of RAM for complex models in 3D. The development release is much faster and should be prefered. MacOS install. PyCAM.
3D CAM GCAM GNU 3-Axis CAM with a simple interface for making bolt holes, drill holes, sketches, templates, and more.
3D CAM cl-mill BSD-licensed milling application generating G-Code, built in Common Lisp.
3D CAM Blender CAM Open source solution for artistic CAM, a g-code generation tool, an extension for the free open-source Blender 3D package.

3D Slicing for Additive Manufacturing

See: 3D Printing: Software

Multiple Axis

Type Name/Link Description
4 and 5 Axis simplemultiaxiscam Very simple, yet well documented program to generate G-Code for 4 and 5 axis CNC machines.
4th axis CNC G Code Wrapper Program Wraps an XY plane toolpath around the A Axis.
4th axis G-Code Ripper Map linear axis to rotary axis.
4th axis GCodeMapper Maps simple g-code programs (G0, G1, G2, G3 movements) from a plane to a cylinder.
4th axis Spherical Turning Program Use your parting tool to do spherical turning.
4th axis Wrapper Wrapper (wrap a toolpath around a cylinder for those who have a lathe as a 4th Axis).
multiple axis The CNC Toolkit Collection of utilities to help users produce, edit, import and export the machine control codes for general automation, mechatronic, hexapod, robotic and animatronic applications. Source code.


Type Name/Link Description
PCB Python script for creating G-Code files for isolation milling and drilling. Tutorial
PCB Visolate Application for calculating machining toolpaths (G-code) for manufacturing printed circuit boards (PCBs) by isolation milling. As an outstanding feature, this calculation is done on the computer's screen, using the features of 3D graphics drivers.
PCB PCB-Gcode Script for generating G-code for milling a PCB out an Eagle PCB layout. See also Stencil-Gcode for generating an SMD stencil.
PCB FreePCB A free, open-source PCB editor for Microsoft Windows, released under the GNU General Public License.
PCB Line Grinder Gerber to GCode Isolation Milling. MIT. Windows.
PCB pcb2gcode Imports standard gerber RS274-X and Excellon files, and creates fully EMC2-compatible RS274-NGC files. Will not run on Windows, includes Voronoi region analysis.
PCB (Mac OS X 10.8 or later) Otherplan Imports Eagle (.brd), Gerber (.gtl and .grb), G-Code (.nc and .tap), PCBmodE (.svg) --- intended for use w/ the OtherMill, but outputs standard G-code.
PCB (online generator) Online tool to generate G-Code from board design files.
PCB (previewer) gerbv Free/Open Source Gerber Viewer.

See also opt-qt, PCB probing software[6]

An interesting alternative to tramming or flattening one's workarea is instead to use special software to modify G-code to match one's bed: Autoleveller.

Thread Cutting

Type Name/Link Description
Right hand threads CNC Thread Milling G Code Generator Program Internal and external thread milling.

See the forum discussion thread milling with shapeoko2?.

Guhring ThreadMillCNC CNCGenerator. Example code for 20 threads per inch. --- includes gears calculating Visual BASIC programs.

Drag Knife Support

Type Name/Link Description
Drag Knife Optimizer for G-Code Donek Tools Swivel Program Excel spreadsheet which will optimize G-Code for cutting with a drag knife.

Note that dxf2gcode (see below under Conversion programs) has added support for drag knives.


See also Section 6.2, Practical part geometries: Creating spur gears of the Guerrilla guide to CNC machining, mold making, and resin casting.

There is an Excel spreadsheet for clockwork calculations:

Type Name/Link Description
Gears Involute Spur Gear Builder Bowser based utility for calculating and drawing involute spur gears, fully accounts for undercuts. Blog announcement.[7]
Gears GGGears [8] Tool for creation and calculation of gear transmission finite element models. Consists of a geometry and mesh generator based on GMSH and a finite element model based on GETFEM++.
Gears pyGear Built on top of pythonOCC, OpenCascade, numpy and scipy, serves as an CAE/CAD-preprocessor generator of involute gears.
Sprockets Sprocketeer (online) Windows and information Generate gcode or a CAD (DXF) drawing for sprockets.
Gears GearGCoderV1.0 (Windows) Generate gcode for a gear based on inputting Diameter (150mm --- values in parentheses are samples suggested by the developer), teeth (20), width ratio (3), feed rate (1000), tooth height (13mm), depth (9mm), add mounting holes (Y), number of holes (5), distance from center (50mm).[9]
Gears GearMaker (Windows) Program that will produce the tooth profile of a gear as a dxf drawing. Video tutorial on finishing.
Gears GearDXF (Windows) Outputs a DXF file containing a 2D outline of a spur gear using specified parameters. The tooth face is a true involute curve, but the base gaps between teeth are rough.[10]

For information on wooden gears, see, esp. the Gear template generator. See also Github: SVG generating interactive gear maker.

Extensive tutorial at:


Inkscape has an extension for gears: Effects | Render | Gear...[11]

Fret cutting

Type Name/Link Description
Guitar LoboCNC Fretboard.exe Free Windows application written by Jeff Kerr for cutting blind fret slots in guitar or other instrument fret boards using a small diameter end mill (~0.023"). C++ source included.

Conversion programs

See also the PostScript to G-Code conversion tool ps2gc, listed under Programmatic G-Code Generators.

See also dxf 1.1.1 a Python library to generate DXFs and DXF Halftone 2.1 mentioned above. Cf. Using AutoCAD file formats with open source libraries (IBM Developer Works article).

Type Name/Link Description
DXF to DXF DXF File Z Axis Deletion Program Takes DXF file and collapses all Z dimensions to zero.
HPGL to DXF HPGL to DXF Translation Program Accomodates the basic set of HPGL-1 commands and translates them into a DXF file.
DXF to G-Code Ace Converter Open-source freeware (GPL) utility to convert two dimensional DXF files to g-code.
DXF to G-Code flatcam Ruby command-line tool to generate gcode from a dxf-file.
DXF to G-Code CNC Code Generator Open-source software to generate NC code for machining operations like end-milling, drilling, turning, etc. generates the NC code by extracting features from a 2D DXF file.
DXF to G-Code dxf2gcode Graphical Python program to convert a 2D dxf drawing to CNC machine compatible G-Code, including preview window. Now includes drag knife support[12]. (Formerly hosted on Google Code)
DXF to G-Code Gcode2000 for Windows 95/98/2000/XP/Vista /Windows 7, reads Lines,Arcs,Rect,Circle,PolyLines,LWPolylines, Ellipse, Sorts object by size. Reads and writes DXF files.
DXF and Gerber files to G-Code gCncCam GNU Cam Processor Graphical program to convert DXF-Files and GERBER NC-Files (Drill-Files) to G-Code (RS-274) NC-Files for the Linux EMC2 cnc. Features include:
  • Creating of Tool Properties
  • Creating of Milling Properties (Layer Properties) for different Layers of the DXF-Cad Drawing
  • Saving of Tool Properties and Layer Properties to Template files
PCB to G-Code Convert Excellon Drill File to G-Code
HPGL to G-Code hp2xx Opensource tool to convert vector-oriented graphics data given in Hewlett-Packard's HP-GL plotter language to a variety of formats including G-code.

See also and

Personal tools
Additional Build Information
Using Your Machine
Additional Resources
ShapeOko 1 Build Instructions