Browse Source

refine 3d design

lightsleep
Hendrik Langer 7 years ago
parent
commit
3ce0dc2ca1
  1. 96
      cad/box.scad
  2. 32684
      cad/box.stl

96
cad/box.scad

@ -7,19 +7,19 @@ module PCB() {
} }
} }
module box() { module box(height) {
difference() { difference() {
minkowski() { minkowski() {
cube([130-4,57,80]); cube([130-4,57,height]);
cylinder(r=8,h=2); cylinder(r=8,h=2);
} }
translate([0,0,2]) cube([130-4,57,80+2]); translate([0,0,2]) cube([130-4,57,height+2]);
} }
} }
module louver(x, z, num) { module louver(x, z, num) {
for (i=[0:num]) for (i=[0:num])
translate([0,0,i*9]) translate([0,0,i*7])
rotate([-45,0,0]) cube([x,3,z]); rotate([-45,0,0]) cube([x,3,z]);
} }
@ -43,15 +43,18 @@ module honeycomb(num_x, num_y, size) {
module mount() { module mount() {
rotate([90,90,0]) { rotate([90,90,0]) {
translate([-4,0,0]) cylinder(r=3,h=12); translate([-4,0,0]) cylinder(r=2.5,h=12);
translate([-4,-3,0]) cube([14,6,12]); translate([-4,-2.5,0]) cube([14,5,12]);
translate([10,0,0]) cylinder(r=5,h=12); translate([10,0,0]) cylinder(r=5,h=12);
translate([-20,-5,2+4]) cube([30,10,12-2-4]); translate([-20,-5,2+4]) cube([30,10,12-2-4]);
} }
} }
module screwhole() { module screwhole() {
translate([0,60+10,0]) rotate([90,0,0]) cylinder(r=1.4,h=12+10); translate([0,60+10,0]) rotate([90,0,0]) {
cylinder(r=1.4,h=12+10);
cylinder(r=3,h=7.8);
}
} }
module rail() { module rail() {
@ -63,29 +66,66 @@ module rail() {
} }
} }
difference() { module base(height) {
union() { difference() {
difference() { union() {
union() { difference() {
box(); union() {
translate([-4,57+8,81.8]) rail(); box(height);
translate([130,57+8,81.8]) rail(); 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+1,5+1,-0.5]) honeycomb(13,4,4);
} }
translate([5,-15,2.6]) louver(120,25,7); translate([-1.4,20,0]) cube([1.4,12,80+2]);
translate([130-4+15,3,2.6]) rotate([0,0,90]) louver(50,25,7); translate([126,20,0]) cube([1.4,12,80+2]);
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([-2,27,5]) rotate([90,0,0]) PCB();
translate([126,20,0]) cube([1.4,12,80+2]); 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([-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 module top() {
difference() {
translate([0,0,82.4])
minkowski() {
cube([130-4,57,7.6]);
cylinder(r=8,h=2);
}
translate([0,0,74]) rotate([7,0,0]) cube([130-4,57,8]);
translate([0,-8,74+4+6]) rotate([7,0,0]) cube([130-4,57+2*8,8]);
minkowski() {
translate([-4,57+8,81.8]) rail();
cylinder(r=0.4,h=0.4);
}
minkowski() {
translate([130,57+8,81.8]) rail();
cylinder(r=0.4,h=0.4);
}
}
} }
//color([0,1,0])
difference() {
base(80);
translate([-50,56.8,-10]) cube([250,20,100]); // subtract back
}
//color([0,0,1])
% difference() {
base(80+10);
translate([-50,-20,-10]) cube([250,20+56.8,120]); // subtract front
}
//color([1,0,0])
% top();

32684
cad/box.stl

File diff suppressed because it is too large
Loading…
Cancel
Save