Skip to content

parse stl files with Node.js and get volume, and weight

License

Notifications You must be signed in to change notification settings

gokhangulgezen/node-stl

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

93 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

node-stl

CircleCI

Parse STL files with Node.js and get volume, weight, the bounding box, the center of mass and whether it is watertight or not.

example

const NodeStl = require("node-stl");

var stl = new NodeStl(__dirname + '/myCool.stl', {density: 1.04});
console.log(stl.volume + 'cm^3');     // 21cm^3
console.log(stl.weight + 'gm');       //  1gm
console.log(stl.boundingBox,'(mm)');  // [60,45,50] (mm)
console.log(stl.area,'(m)');          // 91.26 (m)
console.log(stl.centerOfMass,'(mm)'); // [30,22.5,25] (mm)
console.log(stl.isWatertight ? 'STL is watertight' : 'STL is not watertight');

node-stl recognizes by itself whether it is dealing with an ASCII STL or a binary STL file

load file from url

Use request to load a file from url

const NodeStl = require("node-stl");
const request = require('request');

const requestSettings = {
   method: 'GET',
   url: 'https://s3.amazonaws.com/minifactory-stl/WALLY_1plate.stl',
   encoding: null,
};

request(requestSettings, function(error, response, body) {
    var stl = new NodeStl(body);
    assert.equal(stl.volume, 21.87511539650792);
    done(null);
});

install

use npm/node-stl:

$ npm install node-stl

license

MIT

version

0.7.1

contributors

About

parse stl files with Node.js and get volume, and weight

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%