gcode-parser v0.7.1
gcode-parser 
Install
npm install --save gcode-parser
Usage
var fs = require('fs');
var parser = require('gcode-parser');
// parseLine
parser.parseLine('G0 X0 Y0');
// => { line: 'G0 X0 Y0', words: [ [ 'G', 0 ], [ 'X', 0 ], [ 'Y', 0 ] ] }
// parseLine (flatten mode)
parser.parseLine('G0 X0 Y0', { flatten: true });
// => { line: 'G0 X0 Y0', words: [ 'G0', 'X0', 'Y0' ] }
// parseFile
var file = 'example.nc';
parser.parseFile(file, function(err, results) {
console.log(results);
});
// Synchronous version of parseFile.
results = parser.parseFileSync(file);
// parseStream
var stream = fs.createReadStream(file, { encoding: 'utf8' });
parser.parseStream(stream, function(err, results) {
console.log(results);
});
// parseString
var str = fs.readFileSync(file, 'utf8');
parser.parseString(str, function(err, results) {
console.log(results);
});
// Synchronous version of parseString.
results = parser.parseStringSync(file);
Advanced Usage
var _ = require('lodash');
var parser = require('gcode-parser');
parser.parseFile('example.nc', function(err, results) {
if (err) {
console.error(err);
return;
}
// Compose G-code
var list = _(results)
.map('words')
.map(function(words) {
return _.map(words, function(word) {
return word[0] + word[1];
}).join(' ');
})
.value();
console.log(list);
})
.on('data', function(data) {
console.log(data);
})
.on('end', function(results) {
console.log(results);
})
Options
batchSize
Type: Number
Default: 1000
The batch size.
flatten
Type: Boolean
Default: false
True to flatten the array, false otherwise.
parser.parseLine('G0 X0 Y0');
// => { line: 'G0 X0 Y0', words: [ [ 'G', 0 ], [ 'X', 0 ], [ 'Y', 0 ] ] }
parser.parseLine('G0 X0 Y0', { flatten: true });
// => { line: 'G0 X0 Y0', words: [ 'G0', 'X0', 'Y0' ] }
lineMode
Type: String
Default: 'original'
The lineMode
option specifies how the parsed line should be formatted. The following values are supported:
'original'
: Retains the line exactly as is, including comments and whitespace. (This is the default whenlineMode
is not specified.)'stripped'
: Removes comments, trims leading and trailing whitespace (spaces and tabs), but keeps the inner whitespace between code elements.'compact'
: Removes both comments and all whitespace characters.
Example usage:
parser.parseLine('G0 X0 Y0 ; comment', { lineMode: 'original' });
// => { line: 'G0 X0 Y0 ; comment', words: [ [ 'G', 0 ], [ 'X', 0 ], [ 'Y', 0 ] ] }
parser.parseLine('G0 X0 Y0 ; comment', { lineMode: 'stripped' });
// => { line: 'G0 X0 Y0', words: [ [ 'G', 0 ], [ 'X', 0 ], [ 'Y', 0 ] ] }
parser.parseLine('G0 X0 Y0 ; comment', { lineMode: 'compact' });
// => { line: 'G0X0Y0', words: [ [ 'G', 0 ], [ 'X', 0 ], [ 'Y', 0 ] ] }
G-code Interpreter
https://github.com/cncjs/gcode-interpreter
G-code Toolpath
https://github.com/cncjs/gcode-toolpath
G-code Toolpath Visualizer
Check out the source code at https://github.com/cncjs/cncjs/blob/master/src/web/widgets/Visualizer/GCodeVisualizer.js
License
MIT
9 months ago
9 months ago
9 months ago
9 months ago
6 years ago
7 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago