Octahedron
Example shows how to create a parametric Octahedron shape.
//Code for octahedron using circles of very small diameters (in liue of points) as top/bottom points:
function build() {
//create octahedron solid with specified sideLength
//get variables from parameters
params.sideLength = 20; //Or define sideLength from the Parameter's dialog
var sideLength = params.sideLength;
var squareWire = square(sideLength);
//height of single pyramid in octahedron
var singleHeight = Math.sqrt(Math.pow(sideLength,2)/2);
var bottomCircle = cadlib.circle({x:0, y:-singleHeight, z:0},{x:0,y:1,z:0},0.001);
var topCircle = cadlib.circle({x:0, y:singleHeight, z:0},{x:0,y:1,z:0},0.001);
//Create a loft
var s = cadlib.loft([cadlib.wire(bottomCircle),squareWire,cadlib.wire(topCircle)]);
return s;
};
function square(sideLength){
//create square wire centered on origin
//Using Path object
var path = new cadlib.Path(true);
var halfLength = sideLength/2;
path.start(halfLength, 0, halfLength).zlineTo(-sideLength).xlineTo(-sideLength).zlineTo(sideLength);
//Important to close the path
path.close();
return path.wire();
};