//difference() { // cube([170,170,15],center=true); // union() { // cube([165,165,10],center=true); // cube([160,160,100],center=true); // } //} socket(); //difference() { // ring(); // translate([0,0,2]) cylinder (d=400,h=200); // translate([0,0,0]) cylinder (d=133+2,h=2,$fn=120); //} //intersection() { // ring(); // union() { // translate([0,0,2]) cylinder (d=400,h=200); // translate([0,0,0]) cylinder (d=133+2,h=2,$fn=120); // } //} module ring() { difference() { cylinder(d=133+4,h=15,$fn=120, center=true); // 3mm middle + 6mm mirror + 4mm Acryl union () { cylinder(d=133,h=13,$fn=120, center=true); // 3mm middle + 6mm mirror + 4mm Acryl, diameter+leds cylinder(d=123,h=50,$fn=120, center=true); // 3mm middle + 6mm mirror + 4mm Acryl rotate([0,90,0]) cylinder(d=10,h=400,$fn=120); // 3mm middle + 6mm mirror + 4mm Acryl } } } module socket() { difference() { hull() { length = 52; depth = 30; height=5; translate([0,0,10+3]) cube([20,15,10],center=true); translate([length,depth,-10+height/2]) sphere(d=5, center=true,$fn=60); translate([length,-depth,-10+height/2]) sphere(d=5, center=true,$fn=60); translate([-length,depth,-10+height/2]) sphere(d=5, center=true,$fn=60); translate([-length,-depth,-10+height/2]) sphere(d=5, center=true,$fn=60); translate([29,24,9]) sphere(d=5, center=true,$fn=60); translate([29,-24,9]) sphere(d=5, center=true,$fn=60); translate([-29,24,9]) sphere(d=5, center=true,$fn=60); translate([-29,-24,9]) sphere(d=5, center=true,$fn=60); translate([length-3,depth-5,-1]) sphere(d=5, center=true,$fn=60); translate([length-3,-depth+5,-1]) sphere(d=5, center=true,$fn=60); translate([-length+3,depth-5,-1]) sphere(d=5, center=true,$fn=60); translate([-length+3,-depth+5,-1]) sphere(d=5, center=true,$fn=60); } translate([0,0,80]) rotate([0,90,90]) cylinder(d=133+4,h=15,$fn=120, center=true); cube([60,50,20],center=true); translate([0,0,-6-1.5]) cube([60+2*22,50,5],center=true); translate([0,0,-6]) cube([60+2*20,50,8],center=true); cylinder(d=10,h=100); } }