Basic CNC Router Engraving With Open Source Software: Here I show how I program a CNC router using freely available open source software. In my previous instructable, I briefly explained how I made my own CNC router from a radial arm saw. Previously called EMC2, this CNC control software is completely open source. And as the name suggests, the software runs under Linux. Due to the need of precise real time control of machines in motion, the software requires a platform with real-time computing capabilities. This means that if you don’t have real time computing capabilities.
Sadly the world of CAM/CNC is dominated by proprietary software which costs hobbyists and students a lot. Besides for scientists and researchers, they do not provide much freedom to tinker around. I have previously listed all the available CAD options here or if you are interested in indirect code-based design here. I'm going to just list everything I have found and then maybe you guys can share others:
These are the languages most of CNC/NC controllers can read:
G-code
OpenSBP
HPGL (Hewlett-Packard Graphics Language)
Cutter Location (CL) Data, APT
some software can directly read 2D formats like SVG and DXF too.
SVGnest A browser-based vector nesting tool
These are the software which takes the CAD file and then generate the tool-path in machine language.
PyCAM: reads STL (binary/ascii), DXF, SVG, PS/EPS and generates G-code, license GPL v3, cross-platform Windows/macOS/Linux, it also has the simulation
dxf2gcode or here the grbl compatible: reads 2D drawings dxf, pdf/ps and generates G-code, license GPL v3, cross-platform, it includes visual simulation
dmap2gcode: converts depth maps to G-Code using image-to-gcode, license GPL v3, is written in Python and Windows executables are provided
OpenSCAD2CNC which directly converts OpenSCAD scripts to toolpath. It is only a CLI tool written in C# so most probably only for Windows
CNC Code Generator converts DXF to NC code (G&M), license GPL v2, it is a Java program so most probably is cross-platform
Ace Converter converts DXF to G-code, license GNU GPL, written in Borland C++ and Windows binaries are provided
gCncCam GNU Cam Processor: converts DXF and GERBER NC-Files (Drill-Files) to G-code (RS-274), it includes a GUI, GPLv2
HeeksCNC which is OS but you have to pay for the binaries! Import solid models from STEP and IGES files or DXF drawings. I'm not sure how it is related to HeeksCAM, Area and PyCAM projects.
CollabCAD seems to be a complete CAD/CAM suit written in Java (the GUI) available for Linux and Windows. It reads XML, STEP, IGES, and VRML
CncSimple not much information available for this one. it has been deprecated into a podiatry software. old code can be downloaded from here
Generic CAM multi-axis, reads STL, GTS and DXF, GPLv3, is cross-platform
F-Engrave converts text or image to g-code, for Engraving and V-Carving, is written in Python, reads DXF and bitmap images
Blender CAM description here and this presentation
SFACT or SF-ACT formerly Skeinforge, written in Python, converts 3D to G-code
PathCAM, 2.5D toolpath generator, for Windows and Ubuntu
OpenCAMLib written in C++ with Python bindings for 3D tool path generation
OpenCAM to generate G-code and HPGL, Linux,
CNC Toolkit 3D Studio Max's plugin
Hugomatic and cnconline written in Python
CP1 conversational machining to G-code
gDrill Python script vconverting list of X Y points to tool path G-code
g-code-generators Perl scripts for G-code
PartKAM and it's fork makercam which uses flash: web-based 2.5D
cl-mill written in Common Lisb, BSD license
[]
visolate mill PCBs using voronoi-regions
pcb2gcode a CLI tool for isolation, routing and drilling of PCBs, reads Gerber files, there is also pcb2gcodeGUI, it is cross-platform.
FlatCAM for PCB milling, reads Gerber and Excellon , witten in Python,
cirQWizard Gerber to GCode converter for PCB milling
Cura
Repetier
ReplicatorG
SmoothieControl
If you have the machine code, you need to simulate the process to be sure it is what you intended and sometimes you have to modify the code manually and simulate it again.
CAMotics formerly (OpenSCAM), reads 3-axis G-code, is cross-platform, is GPL v2+ licensed
These are the software which read the tool-path and control the CNC/NC machine directly:
Open Source Cnc Code
LinuxCNC which works on RTAI Linux, has a GNU GPLv2 license
Grbl: parallel-port-based motion control, GPLv3 license, Arduino
Jedicut: controlling 4 axis CNC machines to make hot wire cuttings,
PyCNC G-code interpreter and CNC/3D-printer controller
TinyG, Chilipepper, TgFX
Smoothie
LaserGRBL
bCNC
CNCjs
more firmwares listed here, grbl interfaces listed here.
There are other lists also at wiki.shapeoko, wiki.linuxcnc, freebyte, GroundControl, fablab, maker-works. Also here a list of Python G-code generator scripts. I have also posted this question here in hobycnc sub
P.S. If this post is archived and you want to comment on it please Tweet me.
Comments are closed.