// castle // version 02c 2016-12-23 // 2016-12-22 Algot Runeman // crenelations added for 02b // CC-0 Public Domain Dedication // attempt at a basic chess set. // Very linear programming...Consolidate steps with variables next? // See battlement base for rudimentary use of a variable cylinder(1,10,10); translate([0,0,1]) cylinder(1, 9.7,9,7); translate([0,0,2]) cylinder(1,9.4,9.4); translate([0,0,3]) difference(){ sphere(9); translate([0,0,-9]) // remove the section of the base sphere below the x-y axes cylinder(6,9,9);} //cylinder(4,8,5); translate([0,0,3]) cylinder(15,6,6); translate([0,0,18]) cylinder(4,6,9.4); translate ([0,0,22]) // add flat section cylinder(2,9.4,9.4); // to soften the cone connection translate([0,0,24]) // move up from 23 cylinder(4,9.4,5); translate([0,0,28]) cylinder(5,5,6); // battlement-base=33; bb=33; // add battlements translate([5,0,bb]) cube([2,2,4], center=true); translate([-5,0,bb]) cube([2,2,4], center=true); translate([0,5,bb]) cube([2,2,4], center=true); translate([0,-5,bb]) cube([2,2,4], center=true); // second set of crown rotate([0,0,45]){ translate([5,0,bb]) cube([2,2,4], center=true); translate([-5,0,bb]) cube([2,2,4], center=true); translate([0,5,bb]) cube([2,2,4], center=true); translate([0,-5,bb]) cube([2,2,4], center=true); };