stl
v1.1.1
Published
STL to Array of verts and vice versa
Downloads
2,071
Maintainers
Readme
STL
Stereo Lithography file format parser
Install
npm install stl
Use
Convert binary stl to ascii stl
var stl = require('stl')
var fs = require('fs');
var facets = stl.toObject(fs.readFileSync('/path/to/binary.stl'));
fs.writeFileSync('/path/to/ascii.stl', stl.fromObject(facets));
Convert ascii stl to binary stl
var stl = require('stl')
var fs = require('fs');
var facets = stl.toObject(fs.readFileSync('/path/to/ascii.stl').toString());
fs.writeFileSync('/path/to/binary.stl', stl.fromObject(facets, true));
Object Structure
toObject
and fromObject
use the following array structure
{
description: "abc 123", // (optional)
facets: [
{
normal: [x, y, z],
verts: [
[x, y, z],
[x, y, z],
[x, y, z]
]
// attributeByteCount (optional uint16)
}
// repeats ...
]
}
Streaming
fs.createReadStream('./test/ascii/tri.stl')
.pipe(stl.createParseStream())
.on('data', function(object) {
/* first object will be:
{ description: "BOLLEN"}
*/
/*
second object is a facet which looks like:
{
normal: [ 1, 0.5, 0.25 ],
verts: [ [ 10, 10, 10 ], [ 4, 4, 4 ], [ 5, 5, 5 ] ]
}
*/
})
License
MIT