Laser CNC
Contents
Laser Cutting and engraving
Life cycle:
- Design the 2D object (Inkscape, or any graphical editor)
- Export to a compatible format: Gcode or DXF
- Use Inkscape extensions to generate the g-code, such as
- Gcodetools - included with Inkscape, but not as well supported
- Jtech Laser Tool plugin
- Send it (the G-code program or DXF file) to the laser cutter. This is usually done with another program, such as
- LaserGRBL or
- Engraver Master
- or a machine-specific program.
Inkscape for Laser cutting
Good and short tutorial videos:
Notes: about Inkscape and Linux
Inkscape Extensions: Gcodetools
Problem1: python 2.7 vs 3 for gcodetools
- There is an extension for Gcode export.
- It appears to be written for Python 2, while the newest Inkscape appears to be running Python 3. There might be problems with running the extensions. Change the default version for python to be 2.7 like this:
- Open Inkscape preferences, usually here:
~/.config/inkscape/preferences.xml
- Search for
- Open Inkscape preferences, usually here:
<group id="extensions" … org.ekips.filter.gears.pitch="20" org.ekips.filter.gears.angle="20" />
- Change to - add the following:
<group id="extensions" python-interpreter="/usr/bin/python2.7" … org.ekips.filter.gears.pitch="20" org.ekips.filter.gears.angle="20" />
- More info here: https://wiki.inkscape.org/wiki/index.php/Extension_Interpreters
Problem2: unittouu
After running gcodetools extension you may get the error:
- AttributeError: 'module' object has no attribute 'unittouu'
The solution is to update the gcodetools.py as follows. For me, this was on the line 5864 where inkex.unittouu()
is called.
The problem is that it is referenced as
doc_height = inkex.unittouu(...
Fix this as follows:
doc_height = self.unittouu(...
Inkscape extensions: JTechPhotonics
Alternative, easy to use extension for inkscape to create gcode is J Tech Laser Tool Plugin
- For Inkscape version 0.92:
Resources
- G-code description and codes on Wikipedia