86 lines
1.9 KiB
OpenSCAD
86 lines
1.9 KiB
OpenSCAD
Lidnodge=2;
|
|
D1W=26;
|
|
D1L=34.5;
|
|
D1H=8+Lidnodge;
|
|
Wall=1.67;
|
|
Clearance=0.2;
|
|
GPIOW=2.8;
|
|
GPIOL=22;
|
|
module drawMount(){
|
|
translate([-Wall,0,-Wall]){
|
|
difference(){
|
|
cube([D1W+Wall*4,D1L/3,D1H+Wall*5]);
|
|
union(){
|
|
translate([10,0,D1H]) cube([D1W/2,D1L/2,D1H+Wall]);
|
|
translate([Wall,0,Wall]) cube([D1W+(Wall*2),D1L+(Wall*2),D1H+Wall*2]);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
module drawCase()
|
|
{
|
|
translate([0,0,0]){
|
|
difference(){
|
|
cube([D1W+(Wall*2),D1L+(Wall*2),D1H+Wall-0.1]);
|
|
|
|
translate([Wall,Wall,Wall]){
|
|
difference(){
|
|
cube([D1W,D1L,D1H]);
|
|
//PCB Spacer
|
|
translate([0,D1L-4.5,0]){
|
|
cube([D1W,4.5,2.4]);
|
|
}
|
|
}
|
|
}
|
|
//usb port
|
|
translate([((D1W/2)-(7.5/2))+Wall,0,Wall]){
|
|
cube([7.5,Wall+0.1,3.0]);
|
|
}
|
|
//reset button
|
|
translate([-0.1,Wall+2,Wall]){
|
|
cube([Wall+0.1+1,4,2]);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
module drawLid(){
|
|
//lid
|
|
translate([0,0,0]){
|
|
difference(){
|
|
union(){
|
|
//lid
|
|
translate([0,0,D1H+Wall]){
|
|
cube([D1W+(Wall*2),D1L+(Wall*2),Wall-0.1]);
|
|
|
|
//fit
|
|
translate([0+Wall,0+Wall,-Lidnodge]){
|
|
cube([D1W-Clearance,D1L-Clearance,Lidnodge]);
|
|
}
|
|
}
|
|
}
|
|
//GPIO ports
|
|
//Left
|
|
translate([Wall,6.2+Wall,(D1H+Wall)-Lidnodge]){
|
|
cube([GPIOW,GPIOL,Wall+Lidnodge]);
|
|
}
|
|
//Right
|
|
translate([D1W+Wall-GPIOW,6.2+Wall,(D1H+Wall)-Lidnodge]){
|
|
cube([GPIOW,GPIOL,Wall+Lidnodge]);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
minkowski(){
|
|
drawCase();
|
|
sphere(.2);
|
|
}
|
|
|
|
minkowski(){
|
|
drawLid();
|
|
sphere(.2);
|
|
}
|
|
|
|
minkowski(){
|
|
drawMount();
|
|
sphere(.2);
|
|
} |