1.1.0 • Published 11 years ago
orthogami v1.1.0
orthogami
Voxel origami generator. Works in node.js and browserify.
Example usage
//First create a voxel set
// 0 = empty
var voxels = require('ndarray-pack')([
[[0, 1],
[2, 3]],
[[0, 0],
[0, 4]]
])
//Require the module (works with browserify)
var orthogami = require('orthogami')
//Set up options (can skip this if you like)
var options = {
units: 'mm', //Units
bounds: [210, 297], //Page size
scale: 10, //Size of voxel
lineWidth: 0.1 //Size of dashed line
}
//Then run orthogami
var svgs = orthogami(voxels, options)
//Print out the result
var fs = require('fs')
svgs.forEach(function(svg, idx) {
fs.writeFileSync('page' + idx + '.svg', svg)
})Output
Page 1:
Page 2:
Install
npm install orthogamiAPI
require('orthogami')(voxels[, options])
Generates an origami template for folding a model from the given voxel object.
voxelsis a 3D ndarray of integer values.0values indicate empty voxels.optionsis an optional object containing any of the following extra parameters:colorMapa function mapping color values in the voxels to SVG color names, or alternatively an array of SVG color names.boundsa 2D array representing the size of each page (default[Infinity, Infinity])scalea number giving the size of each voxel (default64)convexColorthe color of the convex creases (default'black')concaveColorthe color of the concave creases (default'white')tabColorthe color of the tab lines (default'black')lineWidththe width of the crease lines (default1)unitsthe units for the coordinate system (default'px')
Returns An array of SVG files encoding the pages of the origami printout
Credits
(c) 2014 Mikola Lysenko. MIT License