// $Id$ $fn = 150; difference() { union() { // Bottom plates cube([35, 75, 4.5]); cube([65, 75, 1.5]); // Screw hole pins translate([6.5, 8.5, 4.5]) { cylinder(r=0.9, h=2); cylinder(r=1.5, h=0.5); } translate([29, 8.5, 4.5]) { cylinder(r=0.9, h=2); cylinder(r=1.5, h=0.5); } translate([6.5, 67, 4.5]) { cylinder(r=0.9, h=2); cylinder(r=1.5, h=0.5); } translate([29, 67, 4.5]) { cylinder(r=0.9, h=2); cylinder(r=1.5, h=0.5); } // Separator walls translate([36, 0, 0]) cube([1, 35, 18]); translate([36, 22, 0]) cube([29, 1, 18]); translate([36, 35, 0]) cube([29, 1, 18]); translate([55, 0, 0]) cube([1, 22, 18]); translate([45, 0, 0]) cube([1, 22, 18]); // Outer walls cube([65, 1, 20]); cube([1, 75, 20]); translate([64, 0, 0]) cube([1, 75, 20]); translate([0, 74, 0]) cube([65, 1, 20]); } // USB port / power cable translate([64, 60, 4.5]) cube([1, 14, 9]); translate([64, 37, 1.5]) cube([1, 21, 12]); // Ventilation for (i = [1:1:11]) { translate([40, 2.8 * i, 0]) cube([22, 1.5, 1.5]); translate([36 + 2.8 * i, 0, 1.5]) cube([1.5, 1.5, 15]); translate([64, 2.8 * i, 1.5]) cube([1.5, 1.5, 15]); translate([2.7 * i, 12, 0]) cube([1.5, 52, 4.5]); translate([2.7 * i, 0, 5]) cube([1.5, 1.5, 12]); translate([2.7 * i, 73.5, 5]) cube([1.5, 1.5, 12]); translate([36 + 2.4 * i, 40, 0]) cube([1.3, 32, 1.5]); translate([36 + 2.4 * i, 73.5, 5]) cube([1.3, 1.5, 12]); } for (i = [1:1:25]) { translate([0, 2.8*i, 5]) cube([1.5, 1.5, 12]); } // Wiring gaps translate([50, 20, 18]) rotate([270, 0, 0]) cylinder(h=20, r=3.5); translate([60, 20, 18]) rotate([270, 0, 0]) cylinder(h=20, r=3.5); }