Voxel origami generator. Works in node.js and browserify.
//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)
})
npm install orthogami
require('orthogami')(voxels[, options])Generates an origami template for folding a model from the given voxel object.
voxels is a 3D ndarray of integer values. 0 values indicate empty voxels.
options is an optional object containing any of the following extra parameters:
colorMap a function mapping color values in the voxels to SVG color names, or alternatively an array of SVG color names.bounds a 2D array representing the size of each page (default [Infinity, Infinity])scale a number giving the size of each voxel (default 64)convexColor the color of the convex creases (default 'black')concaveColor the color of the concave creases (default 'white')tabColor the color of the tab lines (default 'black')lineWidth the width of the crease lines (default 1)units the units for the coordinate system (default 'px')Returns An array of SVG files encoding the pages of the origami printout
(c) 2014 Mikola Lysenko. MIT License