for developers
Sign In
Join
Discussions
Documentation
Tutorials
Examples
Editor
Scene
Import Scene
Export Scene
Load Last Scene
Save Current Scene
Model
Save Model
Upload Model
Show Printability
Render
Preferences
Help
Reference Guide
Examples
Tutorials
Generate
Save Model
Reset Params
Check Model
var params = [ { name: "top", label: "Top Image", desc: "Top Image", type: "uri", defaultVal: "http:\/\/www.shapeways.com\/rrstatic\/img\/shapejs\/creator\/r5-bird.png" }, { name: "middle", label: "Middle Image", desc: "Middle Image", type: "uri", defaultVal: "http:\/\/www.shapeways.com\/rrstatic\/img\/shapejs\/creator\/r5-circle.png" }, { name: "bottom", label: "Bottom Image", desc: "Bottom Image", type: "uri", defaultVal: "http:\/\/www.shapeways.com\/rrstatic\/img\/shapejs\/creator\/r4-unicorn.png" } ]; var voxelSize = 0.05 * MM; function makeLayer(path, x0, y0, z0, width, height, thickness, placement, useGray) { var img = new Image3D(path, width, height, thickness); img.setBlurWidth(0.1 * MM); img.setImagePlace(placement); img.setUseGrayscale(useGray); img.setTransform(new Translation(x0, y0, z0)); img.setBaseThickness(0); img.setBaseThreshold(0.1); img.setDistanceFactor(0.8); // TODO: why is this needed return img; } function main(args) { var embossing = 0.7 * MM; // height of embossing, var thickness = 2.2 * MM; // desired overall thickness var middleThick = thickness - 2 * embossing; var width = 35.15 * MM; // TODO: should remove borders, this makes a 30mm var height = 35.15 * MM; var result = new Union(); var x = 20 * MM; var y = 20 * MM; var z = thickness + voxelSize; var bounds = new Bounds(-x, x, -y, y, -z, z); var topImg = makeLayer(args.top, 0, 0, embossing + middleThick, width, height, embossing, Image3D.IMAGE_PLACE_TOP, true); result.add(topImg); var middleImg = makeLayer(args.middle, 0, 0, embossing / 2 + middleThick / 2, width, height, middleThick, Image3D.IMAGE_PLACE_TOP, false); result.add(middleImg); var bottomImg = makeLayer(args.bottom, 0, 0, 0, width, height, embossing, Image3D.IMAGE_PLACE_BOTTOM, true); result.add(bottomImg); return new Scene(result, bounds, voxelSize); }
Preferences
Close
Printability Check
Region check
Voxel size
Number of regions
Largest region
Close