updated readme.md, sbc_case_builder.gif, increased possible case size to 300mm, added m1 cases, added pine64 cases, other fixes

This commit is contained in:
Edward Kisiel
2022-12-09 22:19:05 -05:00
parent 2f32d3c3b5
commit 7fbb5d5f12
6 changed files with 708 additions and 68 deletions

View File

@@ -47,7 +47,7 @@
20221011 Version 2.0.1 adjusted cases and accessories, updated README.md and SBC_Case_Builder_Cases.gif
20221101 version 2.0.2 added hdmi_a_vertical mask, increased jack_3.5 mask dia.to 6mm, lowered hdmi_a_vertical mask by 2mm,
added mask for microsdcard2
20221207 version 2.0.3 added double_stacked_usb3-usb2
20221207 version 2.0.3 added double_stacked_usb3-usb2, hd35_vtab(side) and supporting code
see https://github.com/hominoids/SBC_Case_Builder
@@ -76,6 +76,7 @@
hd25_tab(side)
hd25_vtab(side)
hd35_tab(side)
hd35_vtab(side)
hd_bottom_holes(hd,orientation,position,side,thick)
hd25(height)
hd35()
@@ -827,20 +828,46 @@ module hd_mount(hd,orientation,position,side) {
}
if(hd == 3.5) {
if(orientation == "portrait") {
translate([-.5,28.5,0]) hd35_tab("left");
translate([-.5,69.75,0]) hd35_tab("left");
translate([-.5,130.1,0]) hd35_tab("left");
translate([101.6+.5,28.5,0]) hd35_tab("right");
translate([101.6+.5,69.75,0]) hd35_tab("right");
translate([101.6+.5,130.1,0]) hd35_tab("right");
if(position == "vertical") {
if(side == "left") {
translate([0,41.28,0]) rotate([0,0,0]) hd35_vtab("right");
translate([0,41.28+44.45,0]) rotate([0,0,0]) hd35_vtab("right");
translate([0,41.28+76.20,0]) rotate([0,0,0]) hd35_vtab("right");
}
else { // right
translate([0,41.28,0]) rotate([0,0,0]) hd35_vtab("left");
translate([0,41.28+44.45,0]) rotate([0,0,0]) hd35_vtab("left");
translate([0,41.28+76.20,0]) rotate([0,0,0]) hd35_vtab("left");
}
}
else {
translate([-.5,28.5,0]) hd35_tab("left");
translate([-.5,69.75,0]) hd35_tab("left");
translate([-.5,130.1,0]) hd35_tab("left");
translate([101.6+.5,28.5,0]) hd35_tab("right");
translate([101.6+.5,69.75,0]) hd35_tab("right");
translate([101.6+.5,130.1,0]) hd35_tab("right");
}
}
if(orientation == "landscape") {
translate([16.9,-.5,0]) rotate([0,0,90]) hd35_tab("left");
translate([76.6,-.5,0]) rotate([0,0,90]) hd35_tab("left");
translate([118.5,-.5,0]) rotate([0,0,90]) hd35_tab("left");
translate([16.9,101.6-.5,0]) rotate([0,0,90]) hd35_tab("right");
translate([76.6,101.6-.5,0]) rotate([0,0,90]) hd35_tab("right");
translate([118.5,101.6-.5,0]) rotate([0,0,90]) hd35_tab("right");
if(position == "vertical") {
if(side == "left") {
translate([9.4,0,0]) rotate([0,0,90]) hd35_vtab("right");
translate([86,0,0]) rotate([0,0,90]) hd35_vtab("right");
}
else { // right
translate([9.4,0,0]) rotate([0,0,90]) hd35_vtab("left");
translate([86,0,0]) rotate([0,0,90]) hd35_vtab("left");
}
}
else {
translate([16.9,-.5,0]) rotate([0,0,90]) hd35_tab("left");
translate([76.6,-.5,0]) rotate([0,0,90]) hd35_tab("left");
translate([118.5,-.5,0]) rotate([0,0,90]) hd35_tab("left");
translate([16.9,101.6-.5,0]) rotate([0,0,90]) hd35_tab("right");
translate([76.6,101.6-.5,0]) rotate([0,0,90]) hd35_tab("right");
translate([118.5,101.6-.5,0]) rotate([0,0,90]) hd35_tab("right");
}
}
}
}
@@ -1036,6 +1063,66 @@ module hd35_tab(side) {
}
}
module hd35_vtab(side) {
width = 15;
l_width = 16;
depth = 15;
height = 4;
fillet = 2;
hole = 3.6;
length = 3;
adjust = .01;
$fn = 90;
if(side == "left") {
difference() {
union() {
translate([0,-depth/2,0]) rotate([0,-90,0])
slab_r([l_width,depth,height], [fillet,fillet,fillet,fillet]);
translate([-height,-depth/2,0]) cube([height,depth,height]);
translate([adjust,-5.5,depth])
rotate([90,0,0])
linear_extrude(height = 2)
polygon(points = [ [-height,height-5],
[-depth+4,-depth],
[-height,-depth]]);
translate([adjust,7.5,depth])
rotate([90,0,0])
linear_extrude(height = 2)
polygon(points = [ [-height,height-5],
[-depth+4,-depth],
[-height,-depth]]);
}
translate([3,0,-adjust]) rotate([0,0,0]) cylinder(d=hole, h=3);
translate([-height-adjust,1.5+(width/2)-(length/2)-depth/2,5.57]) rotate([90,90,90]) slot(hole,length,height+(2*adjust));
}
}
if(side == "right") {
difference() {
union() {
translate([height,-depth/2,0]) rotate([0,-90,0])
slab_r([l_width,depth,height], [fillet,fillet,fillet,fillet]);
translate([0,-depth/2,0]) cube([height,depth,height]);
translate([adjust,-7.5,depth])
rotate([90,0,180])
linear_extrude(height = 2)
polygon(points = [ [-height,height-5],
[-depth+4,-depth],
[-height,-depth]]);
translate([adjust,5.5,depth])
rotate([90,0,180])
linear_extrude(height = 2)
polygon(points = [ [-height,height-5],
[-depth+4,-depth],
[-height,-depth]]);
}
translate([-3,0,-adjust]) rotate([0,0,0]) cylinder(d=hole, h=3);
translate([-adjust,1.5+(width/2)-(length/2)-depth/2,5.57]) rotate([90,90,90]) slot(hole,length,height+(2*adjust));
}
}
}
module hd_bottom_holes(hd,orientation,position,side,thick) {
@@ -1066,13 +1153,13 @@ module hd_bottom_holes(hd,orientation,position,side,thick) {
if(orientation == "landscape") {
if(position == "vertical") {
if(side == "left") {
translate([9.4,-3,0]) cylinder(d=3.6,h=thick+(adjust*2));
translate([86,-3,0]) cylinder(d=3.6,h=thick+(adjust*2));
translate([9.4,-3,0]) cylinder(d=3.6,h=thick+5);
translate([86,-3,0]) cylinder(d=3.6,h=thick+5);
}
else {
echo(side);
translate([9.4,3,0]) cylinder(d=3.6,h=thick+(adjust*2));
translate([86,3,0]) cylinder(d=3.6,h=thick+(adjust*2));
translate([9.4,3,0]) cylinder(d=3.6,h=thick+5);
translate([86,3,0]) cylinder(d=3.6,h=thick+5);
}
}
else {
@@ -1086,13 +1173,28 @@ module hd_bottom_holes(hd,orientation,position,side,thick) {
}
if(hd == 3.5) {
if(orientation == "portrait") {
// portrait 3.5" bottom screw holes
translate([3.18,41.28,0]) cylinder(d=3.6,h=thick+(adjust*2));
translate([3.18,85.73,0]) cylinder(d=3.6,h=thick+(adjust*2));
translate([3.18,117.48,0]) cylinder(d=3.6,h=thick+(adjust*2));
translate([98.43,41.28,0]) cylinder(d=3.6,h=thick+(adjust*2));
translate([98.43,85.73,0]) cylinder(d=3.6,h=thick+(adjust*2));
translate([98.43,117.48,0]) cylinder(d=3.6,h=thick+(adjust*2));
if(position == "vertical") {
if(side == "left") {
translate([-6,28.5,0]) cylinder(d=3.6,h=thick+5);
translate([-6,70.5,0]) cylinder(d=3.6,h=thick+5);
translate([-6,28.5+101.6,0]) cylinder(d=3.6,h=thick+5);
}
else {
// portrait 3.5" bottom screw holes
translate([6,28.5,0]) cylinder(d=3.6,h=thick+5);
translate([6,70.5,0]) cylinder(d=3.6,h=thick+5);
translate([6,28.5+101.6,0]) cylinder(d=3.6,h=thick+5);
}
}
else {
// portrait 3.5" bottom screw holes
translate([3.18,41.28,0]) cylinder(d=3.6,h=thick+(adjust*2));
translate([3.18,85.73,0]) cylinder(d=3.6,h=thick+(adjust*2));
translate([3.18,117.48,0]) cylinder(d=3.6,h=thick+(adjust*2));
translate([98.43,41.28,0]) cylinder(d=3.6,h=thick+(adjust*2));
translate([98.43,85.73,0]) cylinder(d=3.6,h=thick+(adjust*2));
translate([98.43,117.48,0]) cylinder(d=3.6,h=thick+(adjust*2));
}
}
if(orientation == "landscape") {
// landscape 3.5" bottom screw holes