A simple plugin to convert Inkscape vector graphics to Gcode for DIY laser engravers
The version found in the folder v1.0 is intended to be used with v1.x of Inkscape. This Version is work in progress. Please feel free to test it, but don't rely on it in production.
The version found in the folder v0.92 is intended to be used with v0.9x of Inkscape. (Tested with Inkscape 0.92)
This project is based on the Gcodetools extension.
Watch this Video for a tutorial:
Watch this Video for some Backgrund:
step by step instructions:
If you work from a picture (.png, .jpeg ...):
- import picture to Inkscape
- set the size of the page to the size you want your engraving to be [under File/Document Properties/Page]
- IMPORTANT: set Display Units and Units to mm and set Scale x to 1 [under File/Document Properties/Page]
- convert your picture to vector graphics [Path/Trace Bitmap]
- remove the bitmap/png/jpeg... so that only the path is left
- open Lasertools and set your parameters [under Extensions/Lasertools]
- click Apply
- IMPORTANT: the calculation takes some time, so be patient
- finished
If you work from a svg file:
- ungroup all objects until there are no more groups left
- convert all objects to paths (especially text) using [Path/Object to Path] or [Path/Stroke to Path]
- set the size of the page to the size you want your engraving to be [under File/Document Properties/Page]
- IMPORTANT: set Display Units and Units to mm and set Scale x to 1 [under File/Document Properties/Page]
- open Lasertools and set your parameters [under Extensions/Lasertools]
- click Apply
- IMPORTANT: the calculation takes some time, so be patient
- finished
Hint: If you end up with very complex paths (paths with thousands of points) you can simplify the path before exporting it to Gcode. Use the function Path/Simplify. The amount of simplification can be set under Edit/Preferences/Behavior. A value of 0,0002 should work for most applications.
As of now, the first method seems to be more reliable.
Make sure the specified directory exists. Calculating the Gcode can take quite some time on larger engravings. I would advice to test with a small engraving.
Copy the .py and .inx file from /v0.92 for Inkscape 0.9x or /v1.0 for Inkscape 1.x into the Inkscape extentions folder.
- under linux: /usr/share/inkscape/extensions
- under windows C:\Program Files\Inkscape\share\extensions
- python2-lxml
- python2-numpy
- python-lxml
- python-numpy
Hint:
If you get an error on execution similar to:
"ModuleNotFoundError: No module named 'lxml'"
make sure to install the dependencies mentioned aboth.
On Linux for v1.0:
sudo apt-get install python-lxml
or
sudo pacman -S python-lxml
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY Without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
License text: https://github.com/nevir/readable-licenses/blob/master/markdown/GPLv2-LICENSE.md
- Fix infill glitches which appear on some paths
- Workaround: make Path/Difference or Path Union operation which does not change the shape. That will fix the glitch.
- Workaround: export as png, reimport and convert to paths again
- Scaling factor needs to be Set to 1
- Displayed units needs to be set to mm
- Fix multithreading on Windows in v1
- Automatically convert text to paths
- Make a help section in the UI with the step by step instructions
- Performance improvements
If you find bugs or want to implement a feature, please feel free to commit a change to the project.