Image to GCode
Convert jpg, jpeg, png, gif to gcode with NodeJS.
- Generate GCode with absolute coordinates, finds a black pixel if you follow the trail.
- This version is faster previous versions.
- Find the shortest path to the next black pixel.
Installation
$ npm install img2gcode
Quick Start
Depending on the configuration between tool and image height generates better code.
var img2gcode = require("img2gcode"); img2gcode .start({ // It is mm toolDiameter: 2, scaleAxes: 700, deepStep: -1, whiteZ: 0, blackZ: -2, safeZ: 2, dirImg: __dirname + '/img-and-gcode/test.jpeg' }).then((data) => { console.log(data.config); console.log(data.dirgcode); });
Options
toolDiameter
(number) Tool diameter. default: 1sensitivity
(number) Intensity sensitivity. 0 to 1. default: 0.95scaleAxes
(number) Image height in mm. default: image.height equal mmdeepStep
(number) Depth per pass. default: -1invest
{ x: (boolean), y: (boolean) } default: {x: false, y: true}.dirImg
(string) Image path, accepts JPEG JPG PNG GIF formats.whiteZ
(number) White pixels. default: 0blackZ
(number) Maximum depth (Black pixels).safeZ
(number) Safe distance.info
(string) Displays information. ["none" | "console" | "emitter"] default: nonefeedrate
{ work: (number), idle: (number) } Only the corresponding line is added. default: ''laser
{ commandPowerOn: (string), commandPowerOff: (string) } Is you set this options, Z command is will be ignore
Events
Only if Options.info it is "emitter"
log
Displays information.tick
Percentage of black pixels processed. 0 (0%) to 1 (100%).error
Displays error.complete
Emits at the end with "then".
Method
then
This function is called to finish saving the file GCode and receives an object: { config , dirgcode }
Examples
var img2gcode = ;var ProgressBar = ; // npm install progressvar bar = "Analyze: [:bar] :percent :etas" total: 100 ; img2gcode start // It is mm toolDiameter: 1 scaleAxes: 700 deepStep: -1 feedrate: work: 1200 idle: 3000 whiteZ: 0 blackZ: -2 safeZ: 1 info: "emitter" // "none" or "console" or "emitter" dirImg: __dirname + "/img-and-gcode/test.png" ;
Config for laser options
const options = // It is mm toolDiameter: 3 sensitivity: 09 scaleAxes: 128 feedrate: work: 1200 idle: 3000 deepStep: -1 laser: commandPowerOn: "M04" commandPowerOff: "M05" whiteZ: 0 blackZ: -3 safeZ: 1 info: "emitter" dirImg: path;
License.
I hope someone else will serve (MIT).
Author: Marani Matias Ezequiel.
Buy Me A Coffee ☕️
Bitcoin
1CrXKtEkmg71ur6BFSNAqhV2P7mB9dY9qr
Ethereum
0xE835D7eB739D598E72aDfDFf3D7C319cd4ee7E0D