k=[ [8.6,13.6], [8.6,35.8], [8.6,58], [10.8,82.4], ]; running=0; $fn=50; magYoffset=7.5; magXoffset=-5/2; module holes(){ for (a = [ 0 : len(k) - 1 ]){ translate([k[a][1],0,3]){ //cylinder(28.6, k[a][0], k[a][0]); cylinder(28.2, k[a][0], k[a][0]); translate([magXoffset-k[a][0], magYoffset,3]){ cylinder(6.6,3.3,3.3); } translate([magXoffset-k[a][0], -magYoffset,3]){ cylinder(6.6,3.3,3.3); } //first socket if (a==0){} //last socket if (a==len(k)-1){ translate([-magXoffset+k[a][0], magYoffset,3]){ cylinder(6.6,3.3,3.3); } translate([-magXoffset+k[a][0], -magYoffset,3]){ cylinder(6.6,3.3,3.3); } } } } } module divider(){ translate([-10,-20,17]){ cube([200,50,200]); } } module mySocketBlock(){ difference(){ translate([-3,-16,0]){ cube([104,32,34.2]); } holes(); } } difference(){ mySocketBlock(); divider(); }