1.3.7 • Published 5 years ago

gcode-parser v1.3.7

Weekly downloads
297
License
MIT
Repository
github
Last release
5 years ago

gcode-parser build status Coverage Status

NPM

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' ] }

noParseLine

Type: Boolean Default: false

True to not parse line, false otherwise.

parser.parseFile('/path/to/file', { noParseLine: true }, function(err, results) {
});

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

1.3.7

5 years ago

1.3.6

6 years ago

1.3.5

6 years ago

1.3.4

6 years ago

1.3.3

7 years ago

1.3.2

7 years ago

1.3.1

7 years ago

1.3.0

7 years ago

1.2.0

7 years ago

1.1.1

7 years ago

1.1.0

7 years ago

1.0.0

7 years ago

0.9.0

7 years ago

0.8.2

8 years ago

0.8.1

8 years ago

0.8.0

8 years ago

0.7.3

8 years ago

0.7.2

8 years ago

0.7.1

8 years ago

0.7.0

8 years ago

0.6.0

8 years ago

0.5.1

8 years ago

0.5.0

8 years ago

0.4.0

8 years ago

0.3.0

8 years ago

0.2.3

8 years ago

0.2.2

8 years ago

0.2.1

8 years ago

0.2.0

8 years ago

0.1.0

8 years ago