Hendrik Langer
7 years ago
4 changed files with 48573 additions and 0 deletions
@ -0,0 +1,91 @@ |
|||||
|
$fn = 50; |
||||
|
|
||||
|
module PCB() { |
||||
|
minkowski() { |
||||
|
cube([130,75+4+20,1.8]); |
||||
|
cylinder(r=0.8,h=0.8); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
module box() { |
||||
|
difference() { |
||||
|
minkowski() { |
||||
|
cube([130-4,57,80]); |
||||
|
cylinder(r=8,h=2); |
||||
|
} |
||||
|
translate([0,0,2]) cube([130-4,57,80+2]); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
module louver(x, z, num) { |
||||
|
for (i=[0:num]) |
||||
|
translate([0,0,i*9]) |
||||
|
rotate([-45,0,0]) cube([x,3,z]); |
||||
|
} |
||||
|
|
||||
|
module honeycomb(num_x, num_y, size) { |
||||
|
for (i=[0:num_y]) { |
||||
|
translate([0,i*2.4*size,0]) |
||||
|
for (k=[0:num_x]) { |
||||
|
if( k%2==0) { |
||||
|
offset = 2.4*size*0.5; |
||||
|
translate([k*2.2*size,offset,0]) rotate([0,0,360/12]) |
||||
|
cylinder($fn=6, r=size, h=3); |
||||
|
} |
||||
|
else { |
||||
|
offset = 0; |
||||
|
translate([k*2.2*size,offset,0]) rotate([0,0,360/12]) |
||||
|
cylinder($fn=6, r=size, h=3); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
module mount() { |
||||
|
rotate([90,90,0]) { |
||||
|
translate([-4,0,0]) cylinder(r=3,h=12); |
||||
|
translate([-4,-3,0]) cube([14,6,12]); |
||||
|
translate([10,0,0]) cylinder(r=5,h=12); |
||||
|
translate([-20,-5,2+4]) cube([30,10,12-2-4]); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
module screwhole() { |
||||
|
translate([0,60+10,0]) rotate([90,0,0]) cylinder(r=1.4,h=12+10); |
||||
|
} |
||||
|
|
||||
|
module rail() { |
||||
|
rotate([90,0,0]) { |
||||
|
difference() { |
||||
|
linear_extrude(height=57+8+2) polygon([[-1.4,0],[1.4,0],[2.4,4],[-2.4,4]]); |
||||
|
translate([-5,0,57+10]) rotate([-45,0,0]) cube([10,10,10]); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
difference() { |
||||
|
union() { |
||||
|
difference() { |
||||
|
union() { |
||||
|
box(); |
||||
|
translate([-4,57+8,81.8]) rail(); |
||||
|
translate([130,57+8,81.8]) rail(); |
||||
|
} |
||||
|
translate([5,-15,2.6]) louver(120,25,7); |
||||
|
translate([130-4+15,3,2.6]) rotate([0,0,90]) louver(50,25,7); |
||||
|
translate([-15,53,2.6]) rotate([0,0,-90]) louver(50,25,7); |
||||
|
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([20+8/2,57+10,53]) mount(); |
||||
|
translate([100+8/2,57+10,53]) mount(); |
||||
|
translate([-4,0,5]) screwhole(); |
||||
|
translate([-4,0,8+66.6]) screwhole(); |
||||
|
translate([130,0,5]) screwhole(); |
||||
|
translate([130,0,8+66.6]) screwhole(); |
||||
|
|
||||
|
translate([-50,56.8,-10]) cube([250,20,100]); // subtract back |
||||
|
} |
File diff suppressed because it is too large
@ -0,0 +1,52 @@ |
|||||
|
$fn = 50; |
||||
|
|
||||
|
module holeRad() { |
||||
|
cylinder(r=2,h=3); |
||||
|
} |
||||
|
|
||||
|
module mountSDS() { |
||||
|
union() { |
||||
|
difference() { |
||||
|
cylinder(r=5/2,h=20); |
||||
|
translate([0,0,-0.5]) cylinder(r=1.4,h=20+1); |
||||
|
} |
||||
|
cylinder(r1=4.6,r2=5/2,h=3); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
module holesRad() { |
||||
|
translate([0,0,-0.5]) holeRad(); |
||||
|
translate([101.6,0,-0.5]) holeRad(); |
||||
|
translate([0,56,-0.5]) holeRad(); |
||||
|
translate([101.6,56,-0.5]) holeRad(); |
||||
|
} |
||||
|
|
||||
|
module standsSDS() { |
||||
|
translate([5,70-11,0]) mountSDS(); |
||||
|
translate([5+60,70-11,0]) mountSDS(); |
||||
|
translate([5+41,70-(11+55),0]) mountSDS(); |
||||
|
%translate([5+41+3,0,15]) cube([20,7,5]); |
||||
|
} |
||||
|
|
||||
|
module mountPCB() { |
||||
|
difference() { |
||||
|
union() { |
||||
|
cube([5,45,8.6]); |
||||
|
translate([50,0,0]) cube([5,45,8.6]); |
||||
|
} |
||||
|
translate([2.5,2.5,5]) cube([50,42.5,2]); |
||||
|
translate([45,14,0]) cube([15,25,10]); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
difference() { |
||||
|
cube([130,75,1.8]); |
||||
|
translate([7,10,0]) holesRad(); |
||||
|
translate([20,5,-0.5]) cube([26,12,3]); |
||||
|
} |
||||
|
|
||||
|
|
||||
|
|
||||
|
translate([56,72.5,1.4]) rotate(-90) standsSDS(); |
||||
|
|
||||
|
translate([5,15,1.0]) mountPCB(); |
File diff suppressed because it is too large
Loading…
Reference in new issue