Skip to content

kmsmi/gcode-parser

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gcode-parser build status Coverage Status

NPM

Install

npm install --save gcode-parser

Usage

var fs = require('fs');
var parser = require('gcode-parser');

// parseLine
var line = 'G0 X0 Y0';
var result = parser.parseLine(line);
console.log(result);

// 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.

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/cheton/gcode-interpreter

G-code Toolpath

https://github.com/cheton/gcode-toolpath

G-code Toolpath Visualizer

Check out the source code at https://github.com/cheton/cnc/blob/master/src/web/widgets/Visualizer/GCodeVisualizer.js

About

G-code Parser

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%