67 lines
1.1 KiB
OpenSCAD
67 lines
1.1 KiB
OpenSCAD
|
|
include <./rockpro.scad>;
|
|
|
|
include <../power/src/base.scad>;
|
|
$fn = 128;
|
|
outerD = 4.65;
|
|
|
|
innerD = 2.93;
|
|
|
|
|
|
|
|
|
|
|
|
module caseOuter() {
|
|
rotate(a=[90,0,0])
|
|
minkowski() {
|
|
cube(size=[80,40,195], center=true);
|
|
cylinder(h=0.00000000001, r=10);
|
|
}
|
|
}
|
|
|
|
module caseInner() {
|
|
translate(v=[0,0,2])
|
|
rotate(a=[90,0,0])
|
|
minkowski() {
|
|
cube(size=[81.5,47,195+0.01], center=true);
|
|
*cylinder(h=0.00000000001, r=5);
|
|
}
|
|
}
|
|
|
|
|
|
module caseShell() {
|
|
difference() {
|
|
caseOuter();
|
|
|
|
union() {
|
|
caseInner();
|
|
|
|
// side perforations
|
|
for (i=[-7:7]) {
|
|
hgill(i=i);
|
|
}
|
|
|
|
// top perforations
|
|
for (i=[-3:3]) {
|
|
translate(v=[0,i*20,50])
|
|
cube(size=[75,10,60], center=true);
|
|
}
|
|
|
|
// bottom perforations
|
|
for (i=[2:4]) {
|
|
translate(v=[0,i*20,-20])
|
|
cube(size=[60,8,50], center=true);
|
|
}
|
|
|
|
for (i=[-4:0]) {
|
|
translate(v=[0,i*20,-20])
|
|
cube(size=[60,8,50], center=true);
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
caseShell();
|