openjscad-aurora-webapp
50 строк · 1.7 Кб
1// title: Center
2// author: Rene K. Mueller
3// description: testing all the different options of the OpenSCAD-like OpenJSCAD functions (aside of the strict object oriented approaches)
4
5function main() {6var o = [];7
8pos = function(p) {9o.push(10union(11cube({size: [2,0.05,0.05], center: [false,true,true]}).setColor(1,0,0),12cube({size: [2,0.05,0.05], center: [false,true,true]}).setColor(1,0,0).rotateY(-90),13cube({size: [2,0.05,0.05], center: [false,true,true]}).setColor(1,0,0).rotateZ(90),14p
15)16);17}18pos(cube());19pos(cube(1.5));20pos(cube({size: 0.8}));21pos(cube({size: [1,2,3]}));22pos(cube({size: [1,2,3], center: true}));23pos(cube({size: [1,2,3], center: [true,true,false]}));24pos(cube({size: [1,2,3], round: true, center: [true,true,false]}));25pos(cube({size: [1,2,3], round: true, center: [true,true,false]}).setColor(1,1,0));26
27pos(sphere());28pos(sphere(0.8));29pos(sphere({r: 1.1}));30pos(sphere({r: 1, center: false}));31pos(sphere({r: 1, center: [true, true, false]}));32pos(sphere({r: 1, fn: 10}));33pos(sphere({r: 1, fn: 32}).setColor([1,1,0]));34pos(cube({size: 0.01, center: true}));35
36pos(cylinder());37pos(cylinder({r:1, h: 4}));38pos(cylinder({r:1, h: 4, center: true}));39pos(cylinder({r:1, h: 4, center: [true,true,false]}));40pos(cylinder({r1:1, r2:0, h: 4, center: [false,false,true]}));41pos(cylinder({r: 1, start: [0,0,0], end:[1,1,4], center: [true,true,false]}));42pos(color("yellow",cylinder({r: 1, start: [0,0,0], end:[1,1,4], center: [true,true,false]})));43pos(cube({size: 0.01, center: true}));44
45for(var i=0; i<o.length; i++) {46o[i] = o[i].translate([(i%8)*3,Math.floor(i/8)*4,0]);47}48
49return o;50}
51
52