UNPKG

stl-exporter

Version:

Convert face-vertex, or polygon meshes to ascii and binary STLs

38 lines (33 loc) 1.49 kB
// Generated by CoffeeScript 1.12.7 (function() { var createBeautifiedFacetString, createFacetString; createFacetString = require('./helpers/createFacetString'); createBeautifiedFacetString = require('./helpers/createBeautifiedFacetString'); module.exports = function(model, options) { var faceNormalCoordinates, faceVertexIndices, name, stl, stringifyFaceNormal, stringifyVector, vertexCoordinates; if (options == null) { options = {}; } if (options.beautify == null) { options.beautify = false; } if (options.fileName == null) { options.fileName = 'model'; } faceNormalCoordinates = model.faceNormalCoordinates, faceVertexIndices = model.faceVertexIndices, vertexCoordinates = model.vertexCoordinates, name = model.name; stringifyFaceNormal = function(index) { return faceNormalCoordinates[index] + ' ' + faceNormalCoordinates[index + 1] + ' ' + faceNormalCoordinates[index + 2]; }; stringifyVector = function(index) { return vertexCoordinates[index * 3] + ' ' + vertexCoordinates[(index * 3) + 1] + ' ' + vertexCoordinates[(index * 3) + 2]; }; stl = "solid " + name + "\n"; if (options.beautify) { stl += createBeautifiedFacetString(vertexCoordinates, faceVertexIndices, faceNormalCoordinates); } else { stl += createFacetString(vertexCoordinates, faceVertexIndices, faceNormalCoordinates); } stl += "endsolid " + name + "\n"; return stl; }; }).call(this);