Package Exports
- gcode-file
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (gcode-file) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
gcode-file
Create and save a gcode file in browser via javascript
Installation
You can grab it as an npm package
npm i --save @gcode-fileExample
const { createPath, pathsToPolylines } = require('canvas-sketch-util/penplot');
const GCodeFile = require('gcode-file');
const gCode = new GCodeFile({
feedRate: 8000,
seekRate: 8000,
onCommand: 'M03S20',
offCommand: 'M03S0',
powerDelay: 0.2,
fileName: 'sketch.gcode',
paperSize: [210, 297], // A4 size in mm
margin: 10,
flipX: false,
flipY: false
})
// ... your canvas setup ...
gCode.updateCoordsArea(canvas.width, canvas.height);
const p = createPath();
p.moveTo(10, 10);
p.lineTo(100, 100);
// Converting path to polylines...')
const lines = pathsToPolylines([p]);
console.log('Add data to gcode file...')
gCode.addPolylines(lines)
window.addEventListener('keydown', function(){
if((event.ctrlKey || event.metaKey) && event.which == 83) {
event.preventDefault();
console.log('Download file...')
gCode.downloadFile()
return false;
}
})Methods
updateConfig(newConfig)
Accepts an object with the new config (or a part of it). It is useful if you modify your sketch size or print settings at runtime with a gui for example.
updateCoordsArea(width, height)
Update the dimension of your drawing area. It is necessary to know how map the coordinates of your paths to the paper dimension.
moveTo(x, y)
Wrap all the command to move the plot without draw
drawLine(x, y)
Wrap all the command to move the plot drawing
addPolylines(polylines)
Accepts an array on polylines and generate all the commands to draw the polylines.
downloadFile()
Generate and download the gcode file