Skip to content

coding-in-the-wild/admesh-parser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

89 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

admesh-parser

Build Status

description

This module returns a function that takes an STL file and returns a JavaScript object containing information about the file.

you can't use this until you download more stuff

To use this module, you will need admesh. This module just parses admesh's output, it does not include admesh. (Well, technically, it does, in the test folder, but it only will work for windows.)

You will also need an STL file to run this on. Two files are included in the 'test' folder.

install

Install with NPM

npm install admesh-parser

api

var AdmeshParser = require('admesh-parser')

var admeshParser = new AdmeshParser('C:\\Users\\Me\\NoWhiteSpace\\admesh.exe') //Admesh Directory
var admeshParser = new AdmeshParser('C:\\Users\\Me\\White space\\admesh.exe') //NO THIS WILL NOT WORK! (Note the space.)
var admeshParser = new AdmeshParser('"C:\\Users\\Me\\White space\\admesh.exe"') //This should work even with the space. (Note the double quotes.)

admeshParser(options, cb)

options

Must be an Array or a String.

If it is a string, it must be the input file directory.

If it is an array, the last element must be a string of the input file directory.

There are many options you can pass in. They are documented here.

Valid forms of options:

var options = [
	"--remove-unconnected",
	"--fill-holes",
	"C:\\Users\\Me\\Documents\\gear.stl"
]

or

var options = ["C:\\Users\\Me\\Documents\\gear.stl"]

or

var options =  "C:\\Users\\Me\\Documents\\gear.stl"

cb(err, result)

  • err is either null, or an Error object.
  • result is an object if there is not an error. It should look like the following:
{ x: { min: -1.334557, max: 1.370952 },
  y: { min: -1.377953, max: 1.37723 },
  z: { min: -1.373225, max: 1.242838 },
  facets: 
   { overall: { before: 3656, after: 3656 },
     disconnected1: { before: 18, after: 0 },
     disconnected2: { before: 3, after: 0 },
     disconnected3: { before: 0, after: 0 },
     disconnected: { before: 21, after: 0 },
     degenerate: 4,
     removed: 14,
     added: 3,
     reversed: 2 },
  edges: { fixed: 24, backwards: 0 },
  volume: 10.889216,
  parts: 1,
  normalsFixed: 12 }

example

var AdmeshParser = require('admesh-parser')
var admeshParser = new AdmeshParser('C:\\Users\\Me\\Documents\\admesh.exe') //Admesh Directory

var model = admeshParser("C:\\Users\\Me\\Documents\\gear.stl") //Options (model dir)

console.log("Number of parts: " + model.parts)
console.log("Min X: " + model.x.min)
console.log("Max X: " + model.x.max)
console.log("Num of facets, before: " + model.facets.overall.before)
console.log("Volume: " + model.volume)

license

MIT

About

Runs admesh and converts the output into a javascript object

Resources

Stars

Watchers

Forks

Packages

No packages published