2022-09-04 17:14:52 +02:00
|
|
|
wall=2;
|
2022-09-10 15:03:43 +02:00
|
|
|
clearance=0.25;
|
2022-09-04 17:14:52 +02:00
|
|
|
thickness=9;
|
|
|
|
bottom=2.4;
|
|
|
|
|
2022-09-10 15:03:43 +02:00
|
|
|
the_case();
|
2022-09-05 17:33:54 +02:00
|
|
|
|
2022-09-10 15:03:43 +02:00
|
|
|
module the_case() {
|
|
|
|
difference() {
|
|
|
|
body();
|
|
|
|
body_cut();
|
|
|
|
screws();
|
2022-09-04 17:14:52 +02:00
|
|
|
|
2022-09-10 15:03:43 +02:00
|
|
|
gateron([-54,33,0]);
|
|
|
|
gateron([-18,33,0]);
|
|
|
|
gateron([18,33,0]);
|
|
|
|
gateron([54,33,0]);
|
|
|
|
|
|
|
|
gateron([-72,0,0]);
|
|
|
|
gateron([-36,0,0]);
|
|
|
|
gateron([-0,0,0]);
|
|
|
|
gateron([36,0,0]);
|
|
|
|
gateron([72,0,0]);
|
|
|
|
|
|
|
|
pico([-24.5,43.5,0]);
|
|
|
|
usbc();
|
|
|
|
}
|
2022-09-04 17:14:52 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
module body() {
|
2022-09-05 17:33:54 +02:00
|
|
|
color("silver") hull() {
|
|
|
|
main_shape(wall+clearance, thickness-1);
|
|
|
|
main_shape(wall-1+clearance, thickness);
|
2022-09-04 17:14:52 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
module body_cut() {
|
2022-09-05 17:33:54 +02:00
|
|
|
color("silver") translate([0,0,bottom]) main_shape(clearance, thickness + 10);
|
2022-09-04 17:14:52 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
module main_shape(extend, height) {
|
|
|
|
hull($fn=128) {
|
|
|
|
translate([-84,-9,0]) cylinder(r=6+extend, h=height,$fn=64);
|
|
|
|
translate([84,-9,0]) cylinder(r=6+extend, h=height,$fn=64);
|
|
|
|
difference() {
|
|
|
|
union() {
|
|
|
|
translate([-40,20,0]) cylinder(r=50+extend,h=height,$fn=128);
|
|
|
|
translate([40,20,0]) cylinder(r=50+extend,h=height,$fn=128);
|
|
|
|
}
|
|
|
|
translate([-200,-180,-5]) cube([400,200,200]);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
2022-09-05 17:33:54 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
module gateron(pos) {
|
|
|
|
translate([-9,-2.5,0.6]) translate(pos) color("gold") cube([17,10.5,5]);
|
|
|
|
}
|
|
|
|
|
|
|
|
module pico(pos) {
|
|
|
|
translate([0,0,0.6]) translate(pos) color("gold") cube([53,23,5]);
|
2022-09-10 15:03:43 +02:00
|
|
|
translate([-0.9,7.25,-1]) translate(pos) color("red") cube([6.75,8.5,6]);
|
|
|
|
translate([10,12.5,-1]) translate(pos) color("blue") cube([6,5,6]);
|
2022-09-05 17:33:54 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
module screws() {
|
|
|
|
$fn=64;
|
|
|
|
translate([-60,60,-1]) color("gray") cylinder(d=3.5, h=10);
|
|
|
|
translate([60,60,-1]) color("gray") cylinder(d=3.5, h=10);
|
|
|
|
translate([-85,-10,-1]) color("gray") cylinder(d=3.5, h=10);
|
|
|
|
translate([85,-10,-1]) color("gray") cylinder(d=3.5, h=10);
|
|
|
|
}
|
2022-09-10 15:03:43 +02:00
|
|
|
|
|
|
|
module usbc() {
|
|
|
|
hull() {
|
|
|
|
translate([-37.5, 80, 5.6]) rotate([90,0,0]) cylinder(d=3.4,h=20,$fn=32);
|
|
|
|
translate([-30.75, 80, 5.6]) rotate([90,0,0]) cylinder(d=3.4,h=20,$fn=32);
|
|
|
|
}
|
|
|
|
}
|