## Primitive Shapes

2D Primitives 3D Primitives
const rectangle = square(); /* center: [0,0], size: [1,1] */ const cube1 = cube(); /* center: [0,0,0], size: [1,1,1] */
const rectangle = square({center: [1,2], size: [1, 2]}); const cube1 = cube({center: [1, 2, 3], size: [1, 2, 3]});
const rectangle = square({round: true}); /* center: [0,0], radius: [1,1], roundradius: 0.2, resolution: 32 */ const cube1 = cube({round: true}); /* center: [0,0,0], radius: [1,1,1] roundradius: 0.2, resolution: 12 */
const rectangle = square({center: [1,2], radius: [1, 2],rounded: true, fn:32}); const cube1 = cube({center: [0, 0, 0], radius: 2, round: true, fn: 32});
const circle1 = circle(); /* center: [0,0], r: [1,1], resolution: 32 */ const sphere1 = sphere(); /* center: [0,0,0], r: 1, fn: 12 */
const circle1 = circle({center: [1,2], r: 3, resolution: 72}); const sphere1 = sphere({center: [1, 2, 3], r: 4, fn: 36});
const cylinder1 = cylinder();
const cylinder = CSG.cylinder({start: [1, 2, 3], end: [4, 5, 6], radiusStart: 7, radiusEnd: 8, resolution: 72});
const cylinder = CSG.roundedCylinder(); /* start: [0,-1,0], end: [0,1,0], radius: 1, resolution: 12 */
const cylinder = CSG.roundedCylinder({start: [10,11,12], end: [13,14,15], radius: 16, resolution: 6});
const ellipse = CAG.ellipse({center: [5,5], radius: [10,20],resolution: 72}); const cylinder = cylinder({r1: 10, r2: 20, fn: 16});
const cag = CAG.fromPoints([ [0,0],[5,0],[3,5],[0,5] ]); /* polygon with 3+ points */ const csg = CSG.fromPolygons([polygon, …]);
const cag = CAG.fromSides([side,…]); /* polygon with 1+ sides */