|
|
@ -18,9 +18,12 @@ module box(height) { |
|
|
|
} |
|
|
|
|
|
|
|
module louver(x, z, num) { |
|
|
|
for (i=[0:num]) |
|
|
|
translate([0,0,i*7]) |
|
|
|
for (i=[0:num]) { |
|
|
|
translate([0,-3.6,i*7]) { |
|
|
|
rotate([-45,0,0]) cube([x,3,z]); |
|
|
|
// translate([0,32,0]) rotate([45,0,0]) %cube([x,3,z]); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
module honeycomb(num_x, num_y, size) { |
|
|
@ -66,6 +69,13 @@ module rail() { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
module helper_cut() { |
|
|
|
difference() { |
|
|
|
translate([0,0,4]) rotate([0,0,-45]) cube([10,10,100]); |
|
|
|
translate([-2,-10,0]) rotate([0,0,0]) cube([20,10,100+0.2]); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
module base(height) { |
|
|
|
difference() { |
|
|
|
union() { |
|
|
@ -75,15 +85,17 @@ module base(height) { |
|
|
|
translate([-4,57+8,81.8]) rail(); |
|
|
|
translate([130,57+8,81.8]) rail(); |
|
|
|
} |
|
|
|
translate([5,-15,2.6]) louver(120,25,9); |
|
|
|
translate([130-4+15,3,2.6]) rotate([0,0,90]) louver(50,25,9); |
|
|
|
translate([-15,53,2.6]) rotate([0,0,-90]) louver(50,25,9); |
|
|
|
translate([5,-15,-1]) louver(117,25,9); |
|
|
|
translate([130-4+15,3,-1]) rotate([0,0,90]) louver(50,25,9); |
|
|
|
translate([-15,53,-1]) rotate([0,0,-90]) louver(50,25,9); |
|
|
|
translate([5+1,5+1,-0.5]) honeycomb(13,4,4); |
|
|
|
} |
|
|
|
translate([-1.4,20,0]) cube([1.4,12,80+2]); |
|
|
|
translate([126,20,0]) cube([1.4,12,80+2]); |
|
|
|
} |
|
|
|
translate([-2,27,5]) rotate([90,0,0]) PCB(); |
|
|
|
translate([-2.6,27,0]) helper_cut(); // make this fdm-printable on front face |
|
|
|
translate([130-10-3-2.6,27,0]) helper_cut(); |
|
|
|
translate([20+8/2,57+10,53]) mount(); |
|
|
|
translate([100+8/2,57+10,53]) mount(); |
|
|
|
translate([-4,0,5]) screwhole(); |
|
|
@ -129,3 +141,26 @@ module top() { |
|
|
|
|
|
|
|
//color([1,0,0]) |
|
|
|
% top(); |
|
|
|
|
|
|
|
module stand1() { |
|
|
|
difference() { |
|
|
|
union() { |
|
|
|
translate([-8,0,-12]) cube([10,57,12+0.2]); |
|
|
|
translate([0,0,-12]) cylinder(r=8,h=12+0.2); |
|
|
|
} |
|
|
|
translate([-20,57/2-4+2,-23]) rotate([0,90,0]) cylinder(r=28,h=200); |
|
|
|
translate([0,-20,-20]) cube([130-4,100,30]); |
|
|
|
} |
|
|
|
difference() { |
|
|
|
union() { |
|
|
|
translate([130-6,0,-12]) cube([10,57,12+0.2]); |
|
|
|
translate([130-4,0,-12]) cylinder(r=8,h=12+0.2); |
|
|
|
} |
|
|
|
translate([-20,57/2-4+2,-23]) rotate([0,90,0]) cylinder(r=28,h=200); |
|
|
|
translate([0,-20,-20]) cube([130-4,100,30]); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
color([0,0,1]) stand1(); |