finished named standoff size for extended standoffs, added mini-stx-thin adapter and io shield, updated readme.md and other fixes.
This commit is contained in:
@@ -840,9 +840,10 @@ DESCRIPTION: creates standoffs.
|
||||
rotation[] = object rotation
|
||||
parametric[] = "case", "sbc", "sbc-case_z"
|
||||
size[] = not used
|
||||
data[0] = [radius,height,holesize,supportsize,supportheight,sink,pillarstyle,pillarsupport,reverse,insert_e,i_dia,i_depth]
|
||||
data[0] = [size,diameter,height,holesize,supportsize,supportheight,sink,pillarstyle,pillarsupport,reverse,insert_e,i_dia,i_depth]
|
||||
|
||||
radius = pillar radius
|
||||
size = "m2_tap","m2","m2+","m2.5_tap","m2.5","m2.5+","m3_tap","m3","m3+","m4_tap","m4","m4+","custom"
|
||||
diameter = pillar radius
|
||||
height = total height
|
||||
holesize = hole diameter
|
||||
supportsize = support size for sink
|
||||
|
||||
@@ -73,16 +73,16 @@ module fans(style, mask) {
|
||||
|
||||
if(enablemask == true) {
|
||||
if(mstyle == "fan_open") {
|
||||
translate([0, 0, -mlength+msetback-1]) fan_mask(diameter, mlength, "fan_open");
|
||||
translate([0, 0, thickness-msetback+1]) fan_mask(diameter, mlength, "fan_open");
|
||||
}
|
||||
if(mstyle == "default" || mstyle == "fan_1") {
|
||||
translate([0, 0, -mlength+msetback-1]) fan_mask(diameter, mlength, "fan_1");
|
||||
translate([0, 0, thickness-msetback+1]) fan_mask(diameter, mlength, "fan_1");
|
||||
}
|
||||
if(mstyle == "fan_2") {
|
||||
translate([0, 0, -mlength+msetback-1]) fan_mask(diameter, mlength, "fan_2");
|
||||
translate([0, 0, thickness-msetback+1]) fan_mask(diameter, mlength, "fan_2");
|
||||
}
|
||||
if(mstyle == "fan_hex") {
|
||||
translate([0, 0, -mlength+msetback-1]) fan_mask(diameter, mlength, "fan_hex");
|
||||
translate([0, 0, thickness-msetback+1]) fan_mask(diameter, mlength, "fan_hex");
|
||||
}
|
||||
}
|
||||
if(enablemask == false) {
|
||||
|
||||
@@ -25,9 +25,10 @@
|
||||
|
||||
USAGE: standoff(stand_off, mask)
|
||||
|
||||
stand_off[diameter, height, holesize, supportsize, supportheight, sink, pillarstyle,
|
||||
stand_off[size, diameter, height, holesize, supportsize, supportheight, sink, pillarstyle,
|
||||
pillarsupport, reverse, insert_e, i_dia, i_depth], mask)
|
||||
|
||||
size = "m2_tap","m2","m2+","m2.5_tap","m2.5","m2.5+","m3_tap","m3","m3+","m4_tap","m4","m4+","custom"
|
||||
diameter = pillar diameter
|
||||
height = total height
|
||||
holesize = hole diameter
|
||||
@@ -50,23 +51,39 @@
|
||||
|
||||
module standoff(stand_off, mask){
|
||||
|
||||
diameter = stand_off[0];
|
||||
height = stand_off[1];
|
||||
holesize = stand_off[2];
|
||||
supportsize = stand_off[3];
|
||||
supportheight = stand_off[4];
|
||||
sink = stand_off[5];
|
||||
pillarstyle = stand_off[6];
|
||||
pillarsupport = stand_off[7];
|
||||
reverse = stand_off[8];
|
||||
insert_e = stand_off[9];
|
||||
i_dia = stand_off[10];
|
||||
i_depth = stand_off[11];
|
||||
size = stand_off[0];
|
||||
diameter = size == "m2_tap" || size == "m2" || size == "m2+" ? 4 :
|
||||
size == "m2.5_tap" || size == "m2.5" || size == "m2.5+" ? 4 :
|
||||
size == "m3_tap" || size == "m3" || size == "m3+" ? 5 :
|
||||
size == "m4_tap" || size == "m4" || size == "m4+" ? 6 : stand_off[1];
|
||||
height = stand_off[2];
|
||||
holesize = size == "m2_tap" ? 1.6 : size == "m2" ? 2 : size == "m2+" ? 2.26 :
|
||||
size == "m2.5_tap" ? 2.05 : size == "m2.5" ? 2.5 : size == "m2.5+" ? 2.83 :
|
||||
size == "m3_tap" ? 2.5 : size == "m3" ? 3 : size == "m3+" ? 3.4 :
|
||||
size == "m4_tap" ? 3.3 : size == "m4" ? 4 : size == "m4+" ? 4.4 : stand_off[3];
|
||||
supportsize = stand_off[4];
|
||||
supportheight = stand_off[5];
|
||||
sink = stand_off[6];
|
||||
pillarstyle = stand_off[7];
|
||||
pillarsupport = stand_off[8];
|
||||
reverse = stand_off[9];
|
||||
insert_e = stand_off[10];
|
||||
i_dia = stand_off[11];
|
||||
i_depth = stand_off[12];
|
||||
enablemask = mask[0];
|
||||
mlength = mask[1];
|
||||
msetback = mask[2];
|
||||
mstyle = mask[3];
|
||||
|
||||
ps = size == "m2_tap" || size == "m2" || size == "m2+" ? 4 :
|
||||
size == "m2.5_tap" || size == "m2.5" || size == "m2.5+" ? 5 :
|
||||
size == "m3_tap" || size == "m3" || size == "m3+" ? 6.72 :
|
||||
size == "m4_tap" || size == "m4" || size == "m4+" ? 8.96 : (2*holesize)+.5;
|
||||
ds = size == "m2_tap" || size == "m2" || size == "m2+" ? 1.2 :
|
||||
size == "m2.5_tap" || size == "m2.5" || size == "m2.5+" ? 1.5 :
|
||||
size == "m3_tap" || size == "m3" || size == "m3+" ? 1.86 :
|
||||
size == "m4_tap" || size == "m4" || size == "m4+" ? 2.48 : holesize*.465;
|
||||
|
||||
adj = 0.1;
|
||||
$fn = 90;
|
||||
|
||||
@@ -136,14 +153,10 @@ module standoff(stand_off, mask){
|
||||
}
|
||||
// countersink hole
|
||||
if(sink == "countersunk" && reverse == false) {
|
||||
hs = holesize == 2 ? 4 : holesize == 2.5 ? 5 : holesize == 3 ? 6.72 : holesize == 4 ? 8.96 : (2*holesize)+.5;
|
||||
ds = holesize == 2 ? 1.2 : holesize == 2.5 ? 1.5 : holesize == 3 ? 1.86 : holesize == 4 ? 2.48 : 3.5;
|
||||
translate([0,0,-adj]) cylinder(d1=hs, d2=holesize, h=ds);
|
||||
translate([0,0,-adj]) cylinder(d1=ps, d2=holesize, h=ds);
|
||||
}
|
||||
if(sink == "countersunk" && reverse == true) {
|
||||
hs = holesize == 2 ? 4 : holesize == 2.5 ? 5 : holesize == 3 ? 6.72 : holesize == 4 ? 8.96 : (2*holesize)+.5;
|
||||
ds = holesize == 2 ? 1.2 : holesize == 2.5 ? 1.5 : holesize == 3 ? 1.86 : holesize == 4 ? 2.48 : 3.5;
|
||||
translate([0,0,+adj-ds]) cylinder(d1=holesize, d2=hs, h=ds);
|
||||
translate([0,0,+adj-ds]) cylinder(d1=holesize, d2=ps, h=ds);
|
||||
}
|
||||
// recessed hole
|
||||
if(sink == "recessed" && reverse == false) {
|
||||
@@ -154,14 +167,10 @@ module standoff(stand_off, mask){
|
||||
}
|
||||
// nut holder
|
||||
if(sink == "nut holder" && reverse == false) {
|
||||
hs = holesize == 2 ? 4 : holesize == 2.5 ? 5 : holesize == 3 ? 5.5 : holesize == 4 ? 7 : (2*holesize)+.5;
|
||||
ds = holesize == 2 ? 1.6 : holesize == 2.5 ? 2 : holesize == 3 ? 2.4 : holesize == 4 ? 3.2 : 3.5;
|
||||
translate([0,0,-adj]) cylinder(d=hs*2/sqrt(3),h=ds,$fn=6);
|
||||
translate([0,0,-adj]) cylinder(d=ps*2/sqrt(3),h=ds,$fn=6);
|
||||
}
|
||||
if(sink == "nut holder" && reverse == true) {
|
||||
hs = holesize == 2 ? 4 : holesize == 2.5 ? 5 : holesize == 3 ? 5.5 : holesize == 4 ? 7 : (2*holesize)+.5;
|
||||
ds = holesize == 2 ? 1.6 : holesize == 2.5 ? 2 : holesize == 3 ? 2.4 : holesize == 4 ? 3.2 : 3.5;
|
||||
translate([0,0,+adj-ds]) cylinder(d=hs*2/sqrt(3),h=ds,$fn=6);
|
||||
translate([0,0,+adj-ds]) cylinder(d=ps*2/sqrt(3),h=ds,$fn=6);
|
||||
}
|
||||
// blind hole
|
||||
if(sink == "blind" && reverse == false) {
|
||||
|
||||
@@ -56,6 +56,8 @@ mb_adapters=[
|
||||
["left_front", 6.35, 165.1], ["right_front", 163.83, 165.1]],
|
||||
["adapter_mini-stx", 140, 147, ["left_rear", 5, 5], ["right_rear", 135, 5],
|
||||
["left_front", 5, 142], ["right_front", 135, 142]],
|
||||
["adapter_mini-stx_thin", 140, 147, ["left_rear", 5, 5], ["right_rear", 135, 5],
|
||||
["left_front", 5, 142], ["right_front", 135, 142]],
|
||||
];
|
||||
|
||||
mb = search([case_design],mb_adapters);
|
||||
@@ -119,20 +121,20 @@ mb_adapters=[
|
||||
pcbhole_pos = sbc_data[s[0]][i+10][4];
|
||||
|
||||
if (class == "pcbhole" && id == pcb_id && pcbhole_pos == "left_rear" &&
|
||||
bottom_rear_left_enable == true && bottom_standoff[5] != "blind") {
|
||||
translate([pcbhole_x,pcbhole_y,-1]) cylinder(d=6.5, h=bottom_height);
|
||||
bottom_rear_left_enable == true && bottom_standoff[6] != "blind") {
|
||||
translate([pcbhole_x,pcbhole_y,-1]) cylinder(d=bottom_standoff[4]-.2, h=bottom_height);
|
||||
}
|
||||
if (class == "pcbhole" && id == pcb_id && pcbhole_pos == "left_front" &&
|
||||
bottom_front_left_enable == true && bottom_standoff[5] != "blind") {
|
||||
translate([pcbhole_x,pcbhole_y,-1]) cylinder(d=6.5, h=bottom_height);
|
||||
bottom_front_left_enable == true && bottom_standoff[6] != "blind") {
|
||||
translate([pcbhole_x,pcbhole_y,-1]) cylinder(d=bottom_standoff[4]-.2, h=bottom_height);
|
||||
}
|
||||
if (class == "pcbhole" && id == pcb_id && pcbhole_pos == "right_rear" &&
|
||||
bottom_rear_right_enable == true && bottom_standoff[5] != "blind") {
|
||||
translate([pcbhole_x,pcbhole_y,-1]) cylinder(d=6.5, h=bottom_height);
|
||||
bottom_rear_right_enable == true && bottom_standoff[6] != "blind") {
|
||||
translate([pcbhole_x,pcbhole_y,-1]) cylinder(d=bottom_standoff[4]-.2, h=bottom_height);
|
||||
}
|
||||
if (class == "pcbhole" && id == pcb_id && pcbhole_pos == "right_front" &&
|
||||
bottom_front_right_enable == true && bottom_standoff[5] != "blind") {
|
||||
translate([pcbhole_x,pcbhole_y,-1]) cylinder(d=6.5, h=bottom_height);
|
||||
bottom_front_right_enable == true && bottom_standoff[6] != "blind") {
|
||||
translate([pcbhole_x,pcbhole_y,-1]) cylinder(d=bottom_standoff[4]-.2, h=bottom_height);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -244,67 +246,71 @@ mb_adapters=[
|
||||
(pcbhole_pos == "left_rear" || pcbhole_pos == "left_front" || pcbhole_pos == "right_rear" || pcbhole_pos == "right_front")) {
|
||||
if (pcbhole_pos == "left_rear" && bottom_rear_left_enable == true) {
|
||||
bottom_support = bottom_sidewall_support == true ? bottom_rear_left_support : "none";
|
||||
normal_standoff = [bottom_standoff[0],
|
||||
pcb_standoff = [bottom_standoff[0],
|
||||
bottom_standoff[1],
|
||||
bottom_height-pcb_z+pcb_loc_z+bottom_rear_left_adjust,
|
||||
bottom_standoff[2],
|
||||
bottom_standoff[3],
|
||||
bottom_standoff[4],
|
||||
bottom_standoff[5],
|
||||
bottom_standoff[6],
|
||||
bottom_standoff[7],
|
||||
bottom_support,
|
||||
bottom_standoff[8],
|
||||
bottom_standoff[9],
|
||||
bottom_standoff[10],
|
||||
bottom_standoff[11]];
|
||||
translate([pcbhole_x,pcbhole_y,0]) standoff(normal_standoff,[false,10,2,"default"]);
|
||||
bottom_standoff[11],
|
||||
bottom_standoff[12]];
|
||||
translate([pcbhole_x,pcbhole_y,0]) standoff(pcb_standoff,[false,10,2,"default"]);
|
||||
}
|
||||
if (pcbhole_pos == "left_front" && bottom_front_left_enable == true) {
|
||||
bottom_support = bottom_sidewall_support == true ? bottom_front_left_support : "none";
|
||||
normal_standoff = [bottom_standoff[0],
|
||||
pcb_standoff = [bottom_standoff[0],
|
||||
bottom_standoff[1],
|
||||
bottom_height-pcb_z+pcb_loc_z+bottom_front_left_adjust,
|
||||
bottom_standoff[2],
|
||||
bottom_standoff[3],
|
||||
bottom_standoff[4],
|
||||
bottom_standoff[5],
|
||||
bottom_standoff[6],
|
||||
bottom_standoff[7],
|
||||
bottom_support,
|
||||
bottom_standoff[8],
|
||||
bottom_standoff[9],
|
||||
bottom_standoff[10],
|
||||
bottom_standoff[11]];
|
||||
translate([pcbhole_x,pcbhole_y,0]) standoff(normal_standoff,[false,10,2,"default"]);
|
||||
bottom_standoff[11],
|
||||
bottom_standoff[12]];
|
||||
translate([pcbhole_x,pcbhole_y,0]) standoff(pcb_standoff,[false,10,2,"default"]);
|
||||
}
|
||||
if (pcbhole_pos == "right_rear" && bottom_rear_right_enable == true) {
|
||||
bottom_support = bottom_sidewall_support == true ? bottom_rear_right_support : "none";
|
||||
normal_standoff = [bottom_standoff[0],
|
||||
pcb_standoff = [bottom_standoff[0],
|
||||
bottom_standoff[1],
|
||||
bottom_height-pcb_z+pcb_loc_z+bottom_rear_right_adjust,
|
||||
bottom_standoff[2],
|
||||
bottom_standoff[3],
|
||||
bottom_standoff[4],
|
||||
bottom_standoff[5],
|
||||
bottom_standoff[6],
|
||||
bottom_standoff[7],
|
||||
bottom_support,
|
||||
bottom_standoff[8],
|
||||
bottom_standoff[9],
|
||||
bottom_standoff[10],
|
||||
bottom_standoff[11]];
|
||||
translate([pcbhole_x,pcbhole_y,0]) standoff(normal_standoff,[false,10,2,"default"]);
|
||||
bottom_standoff[11],
|
||||
bottom_standoff[12]];
|
||||
translate([pcbhole_x,pcbhole_y,0]) standoff(pcb_standoff,[false,10,2,"default"]);
|
||||
}
|
||||
if (pcbhole_pos == "right_front" && bottom_front_right_enable == true) {
|
||||
bottom_support = bottom_sidewall_support == true ? bottom_front_right_support : "none";
|
||||
normal_standoff = [bottom_standoff[0],
|
||||
pcb_standoff = [bottom_standoff[0],
|
||||
bottom_standoff[1],
|
||||
bottom_height-pcb_z+pcb_loc_z+bottom_front_right_adjust,
|
||||
bottom_standoff[2],
|
||||
bottom_standoff[3],
|
||||
bottom_standoff[4],
|
||||
bottom_standoff[5],
|
||||
bottom_standoff[6],
|
||||
bottom_standoff[7],
|
||||
bottom_support,
|
||||
bottom_standoff[8],
|
||||
bottom_standoff[9],
|
||||
bottom_standoff[10],
|
||||
bottom_standoff[11]];
|
||||
translate([pcbhole_x,pcbhole_y,0]) standoff(normal_standoff,[false,10,2,"default"]);
|
||||
bottom_standoff[11],
|
||||
bottom_standoff[12]];
|
||||
translate([pcbhole_x,pcbhole_y,0]) standoff(pcb_standoff,[false,10,2,"default"]);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -364,10 +370,10 @@ mb_adapters=[
|
||||
*/
|
||||
module io_shield() {
|
||||
|
||||
io_window_x = case_design == ("adapter_mini-stx") ? 123.95 : 158.75;
|
||||
io_window_x = case_design == "adapter_mini-stx_thin" || case_design == ("adapter_mini-stx") ? 123.95 : 158.75;
|
||||
io_window_y = 4;
|
||||
io_window_z = case_design == "adapter_mini-stx" ? 40 : case_design == "adapter_mini-itx_thin" ? 25 : 44;
|
||||
io_offset = case_design == "adapter_mini-stx" ? 1.2 : 10.79;
|
||||
io_window_z = case_design == "adapter_mini-stx" ? 40 : case_design == "adapter_mini-stx_thin" || case_design == "adapter_mini-itx_thin" ? 25 : 44;
|
||||
io_offset = case_design == "adapter_mini-stx_thin" || case_design == "adapter_mini-stx" ? 1.2 : 10.79;
|
||||
|
||||
difference() {
|
||||
union() {
|
||||
|
||||
@@ -385,20 +385,20 @@ echo(pcb_depth+case_offset_y-10);
|
||||
pcbhole_pos = sbc_data[s[0]][i+10][4];
|
||||
|
||||
if (class == "pcbhole" && id == pcb_id && pcbhole_pos == "left_rear" &&
|
||||
bottom_rear_left_enable == true && bottom_standoff[5] != "blind") {
|
||||
translate([pcbhole_x,pcbhole_y,-1]) cylinder(d=bottom_standoff[3]-.2, h=bottom_height);
|
||||
bottom_rear_left_enable == true && bottom_standoff[6] != "blind") {
|
||||
translate([pcbhole_x,pcbhole_y,-1]) cylinder(d=bottom_standoff[4]-.2, h=bottom_height);
|
||||
}
|
||||
if (class == "pcbhole" && id == pcb_id && pcbhole_pos == "left_front" &&
|
||||
bottom_front_left_enable == true && bottom_standoff[5] != "blind") {
|
||||
translate([pcbhole_x,pcbhole_y,-1]) cylinder(d=bottom_standoff[3]-.2, h=bottom_height);
|
||||
bottom_front_left_enable == true && bottom_standoff[6] != "blind") {
|
||||
translate([pcbhole_x,pcbhole_y,-1]) cylinder(d=bottom_standoff[4]-.2, h=bottom_height);
|
||||
}
|
||||
if (class == "pcbhole" && id == pcb_id && pcbhole_pos == "right_rear" &&
|
||||
bottom_rear_right_enable == true && bottom_standoff[5] != "blind") {
|
||||
translate([pcbhole_x,pcbhole_y,-1]) cylinder(d=bottom_standoff[3]-.2, h=bottom_height);
|
||||
bottom_rear_right_enable == true && bottom_standoff[6] != "blind") {
|
||||
translate([pcbhole_x,pcbhole_y,-1]) cylinder(d=bottom_standoff[4]-.2, h=bottom_height);
|
||||
}
|
||||
if (class == "pcbhole" && id == pcb_id && pcbhole_pos == "right_front" &&
|
||||
bottom_front_right_enable == true && bottom_standoff[5] != "blind") {
|
||||
translate([pcbhole_x,pcbhole_y,-1]) cylinder(d=bottom_standoff[3]-.2, h=bottom_height);
|
||||
bottom_front_right_enable == true && bottom_standoff[6] != "blind") {
|
||||
translate([pcbhole_x,pcbhole_y,-1]) cylinder(d=bottom_standoff[4]-.2, h=bottom_height);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -407,32 +407,32 @@ echo(pcb_depth+case_offset_y-10);
|
||||
if(ext_bottom_standoffs == true) {
|
||||
// right-rear standoff
|
||||
if(((width-pcb_loc_x-pcb_width-(gap+2*wallthick) >= 10 || pcb_loc_y >= 10)) &&
|
||||
ext_bottom_rear_right_enable == true && ext_bottom_standoff[5] != "blind") {
|
||||
ext_bottom_rear_right_enable == true && ext_bottom_standoff[6] != "blind") {
|
||||
translate([width-ext_bottom_standoff_support_size/4-(2*(wallthick+gap))-(corner_fillet/2),
|
||||
(corner_fillet/2)+ext_bottom_standoff_support_size/4,-1]) cylinder(d=ext_bottom_standoff[3]-.2, h=bottom_height);
|
||||
(corner_fillet/2)+ext_bottom_standoff_support_size/4,-1]) cylinder(d=ext_bottom_standoff[4]-.2, h=bottom_height);
|
||||
}
|
||||
// right-front standoff
|
||||
if(((width-pcb_loc_x-pcb_width-(gap+2*wallthick) >= 10 && depth-pcb_loc_y-pcb_depth >= 10) ||
|
||||
(width-pcb_loc_x-pcb_width-(gap+2*wallthick) >= 10 && depth-pcb_loc_y-pcb_depth <= 10) ||
|
||||
(width-pcb_loc_x-pcb_width-(gap+2*wallthick) <= 10 && depth-pcb_loc_y-pcb_depth >= 10)) &&
|
||||
ext_bottom_front_right_enable == true && ext_bottom_standoff[5] != "blind") {
|
||||
ext_bottom_front_right_enable == true && ext_bottom_standoff[6] != "blind") {
|
||||
translate([width-ext_bottom_standoff_support_size/4-(corner_fillet/2)-(2*(wallthick+gap)),
|
||||
depth-ext_bottom_standoff_support_size/4-(corner_fillet/2)-(2*(wallthick+gap)),-1])
|
||||
cylinder(d=ext_bottom_standoff[3]-.2, h=bottom_height);
|
||||
cylinder(d=ext_bottom_standoff[4]-.2, h=bottom_height);
|
||||
}
|
||||
// left-rear standoff
|
||||
if((pcb_loc_x >= 10 || pcb_loc_y >= 10) && ext_bottom_rear_left_enable == true && ext_bottom_standoff[5] != "blind") {
|
||||
if((pcb_loc_x >= 10 || pcb_loc_y >= 10) && ext_bottom_rear_left_enable == true && ext_bottom_standoff[6] != "blind") {
|
||||
translate([(corner_fillet/2)+ext_bottom_standoff_support_size/4,
|
||||
(corner_fillet/2)+ext_bottom_standoff_support_size/4,-1]) cylinder(d=ext_bottom_standoff[3]-.2, h=bottom_height);
|
||||
(corner_fillet/2)+ext_bottom_standoff_support_size/4,-1]) cylinder(d=ext_bottom_standoff[4]-.2, h=bottom_height);
|
||||
}
|
||||
// left-front standoff
|
||||
if(((pcb_loc_x >= 10 && (depth-(pcb_loc_y+pcb_depth)) >= 10) ||
|
||||
(pcb_loc_x <= 10 && (depth-(pcb_loc_y+pcb_depth)) >= 10) ||
|
||||
(pcb_loc_x >= 10 && (depth-(pcb_loc_y+pcb_depth)) <= 10)) &&
|
||||
ext_bottom_front_left_enable == true && ext_bottom_standoff[5] != "blind") {
|
||||
ext_bottom_front_left_enable == true && ext_bottom_standoff[6] != "blind") {
|
||||
translate([(corner_fillet/2)+ext_bottom_standoff_support_size/4,
|
||||
depth-ext_bottom_standoff_support_size/4-(corner_fillet/2)-(2*(wallthick+gap)),-1])
|
||||
cylinder(d=ext_bottom_standoff[3]-.2, h=bottom_height);
|
||||
cylinder(d=ext_bottom_standoff[4]-.2, h=bottom_height);
|
||||
}
|
||||
}
|
||||
// bottom cover pattern
|
||||
@@ -459,14 +459,17 @@ echo(pcb_depth+case_offset_y-10);
|
||||
}
|
||||
// rear io shield opening for standard form motherboards
|
||||
if(rear_io_shield == true) {
|
||||
if(sbc_model == "mini-stx_thin") {
|
||||
translate([6.2+pcb_loc_x,-4.5,-4.4+bottom_height-pcb_z+pcb_loc_z]) cube([123.95, 10+pcb_loc_y, 25]);
|
||||
}
|
||||
if(sbc_model == "mini-stx") {
|
||||
translate([6.2+pcb_loc_x,-4.5,-4.4+bottom_height-case_offset_bz-pcb_z+pcb_loc_z]) cube([123.95, 10+pcb_loc_y, 40]);
|
||||
translate([6.2+pcb_loc_x,-4.5,-4.4+bottom_height-pcb_z+pcb_loc_z]) cube([123.95, 10+pcb_loc_y, 40]);
|
||||
}
|
||||
if(sbc_model == "mini-itx_thin") {
|
||||
translate([-2.62+pcb_loc_x,-4.5,-2+bottom_height-case_offset_bz-pcb_z+pcb_loc_z]) cube([158.75, 10+pcb_loc_y, 25]);
|
||||
translate([-2.62+pcb_loc_x,-4.5,-2+bottom_height-pcb_z+pcb_loc_z]) cube([158.75, 10+pcb_loc_y, 25]);
|
||||
}
|
||||
if(sbc_model != "mini-stx" && sbc_model != "mini-itx_thin") {
|
||||
translate([-2.62+pcb_loc_x,-4.5,-2+bottom_height-case_offset_bz-pcb_z+pcb_loc_z]) cube([158.75, 10+pcb_loc_y, 44]);
|
||||
if(sbc_model != "mini-stx_thin" && sbc_model != "mini-stx" && sbc_model != "mini-itx_thin") {
|
||||
translate([-2.62+pcb_loc_x,-4.5,-2+bottom_height-pcb_z+pcb_loc_z]) cube([158.75, 10+pcb_loc_y, 44]);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -486,67 +489,71 @@ echo(pcb_depth+case_offset_y-10);
|
||||
(pcbhole_pos == "left_rear" || pcbhole_pos == "left_front" || pcbhole_pos == "right_rear" || pcbhole_pos == "right_front")) {
|
||||
if (pcbhole_pos == "left_rear" && bottom_rear_left_enable == true) {
|
||||
bottom_support = bottom_sidewall_support == true ? bottom_rear_left_support : "none";
|
||||
normal_standoff = [bottom_standoff[0],
|
||||
pcb_standoff = [bottom_standoff[0],
|
||||
bottom_standoff[1],
|
||||
bottom_height-pcb_z+pcb_loc_z+bottom_rear_left_adjust,
|
||||
bottom_standoff[2],
|
||||
bottom_standoff[3],
|
||||
bottom_standoff[4],
|
||||
bottom_standoff[5],
|
||||
bottom_standoff[6],
|
||||
bottom_standoff[7],
|
||||
bottom_support,
|
||||
bottom_standoff[8],
|
||||
bottom_standoff[9],
|
||||
bottom_standoff[10],
|
||||
bottom_standoff[11]];
|
||||
translate([pcbhole_x,pcbhole_y,0]) standoff(normal_standoff,[false,10,2,"default"]);
|
||||
bottom_standoff[11],
|
||||
bottom_standoff[12]];
|
||||
translate([pcbhole_x,pcbhole_y,0]) standoff(pcb_standoff,[false,10,2,"default"]);
|
||||
}
|
||||
if (pcbhole_pos == "left_front" && bottom_front_left_enable == true) {
|
||||
bottom_support = bottom_sidewall_support == true ? bottom_front_left_support : "none";
|
||||
normal_standoff = [bottom_standoff[0],
|
||||
pcb_standoff = [bottom_standoff[0],
|
||||
bottom_standoff[1],
|
||||
bottom_height-pcb_z+pcb_loc_z+bottom_front_left_adjust,
|
||||
bottom_standoff[2],
|
||||
bottom_standoff[3],
|
||||
bottom_standoff[4],
|
||||
bottom_standoff[5],
|
||||
bottom_standoff[6],
|
||||
bottom_standoff[7],
|
||||
bottom_support,
|
||||
bottom_standoff[8],
|
||||
bottom_standoff[9],
|
||||
bottom_standoff[10],
|
||||
bottom_standoff[11]];
|
||||
translate([pcbhole_x,pcbhole_y,0]) standoff(normal_standoff,[false,10,2,"default"]);
|
||||
bottom_standoff[11],
|
||||
bottom_standoff[12]];
|
||||
translate([pcbhole_x,pcbhole_y,0]) standoff(pcb_standoff,[false,10,2,"default"]);
|
||||
}
|
||||
if (pcbhole_pos == "right_rear" && bottom_rear_right_enable == true) {
|
||||
bottom_support = bottom_sidewall_support == true ? bottom_rear_right_support : "none";
|
||||
normal_standoff = [bottom_standoff[0],
|
||||
pcb_standoff = [bottom_standoff[0],
|
||||
bottom_standoff[1],
|
||||
bottom_height-pcb_z+pcb_loc_z+bottom_rear_right_adjust,
|
||||
bottom_standoff[2],
|
||||
bottom_standoff[3],
|
||||
bottom_standoff[4],
|
||||
bottom_standoff[5],
|
||||
bottom_standoff[6],
|
||||
bottom_standoff[7],
|
||||
bottom_support,
|
||||
bottom_standoff[8],
|
||||
bottom_standoff[9],
|
||||
bottom_standoff[10],
|
||||
bottom_standoff[11]];
|
||||
translate([pcbhole_x,pcbhole_y,0]) standoff(normal_standoff,[false,10,2,"default"]);
|
||||
bottom_standoff[11],
|
||||
bottom_standoff[12]];
|
||||
translate([pcbhole_x,pcbhole_y,0]) standoff(pcb_standoff,[false,10,2,"default"]);
|
||||
}
|
||||
if (pcbhole_pos == "right_front" && bottom_front_right_enable == true) {
|
||||
bottom_support = bottom_sidewall_support == true ? bottom_front_right_support : "none";
|
||||
normal_standoff = [bottom_standoff[0],
|
||||
pcb_standoff = [bottom_standoff[0],
|
||||
bottom_standoff[1],
|
||||
bottom_height-pcb_z+pcb_loc_z+bottom_front_right_adjust,
|
||||
bottom_standoff[2],
|
||||
bottom_standoff[3],
|
||||
bottom_standoff[4],
|
||||
bottom_standoff[5],
|
||||
bottom_standoff[6],
|
||||
bottom_standoff[7],
|
||||
bottom_support,
|
||||
bottom_standoff[8],
|
||||
bottom_standoff[9],
|
||||
bottom_standoff[10],
|
||||
bottom_standoff[11]];
|
||||
translate([pcbhole_x,pcbhole_y,0]) standoff(normal_standoff,[false,10,2,"default"]);
|
||||
bottom_standoff[11],
|
||||
bottom_standoff[12]];
|
||||
translate([pcbhole_x,pcbhole_y,0]) standoff(pcb_standoff,[false,10,2,"default"]);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -556,78 +563,82 @@ echo(pcb_depth+case_offset_y-10);
|
||||
if(ext_bottom_standoffs == true) {
|
||||
// extended right-rear standoff
|
||||
if((width-pcb_loc_x-pcb_width-(gap+2*wallthick) >= 10 || pcb_loc_y >= 10) && ext_bottom_rear_right_enable == true) {
|
||||
normal_standoff = [ext_bottom_standoff[0],
|
||||
extended_standoff = [ext_bottom_standoff[0],
|
||||
ext_bottom_standoff[1],
|
||||
bottom_height+ext_bottom_rear_right_adjust,
|
||||
ext_bottom_standoff[2],
|
||||
ext_bottom_standoff[3],
|
||||
ext_bottom_standoff[4],
|
||||
ext_bottom_standoff[5],
|
||||
ext_bottom_standoff[6],
|
||||
ext_bottom_standoff[7],
|
||||
ext_bottom_rear_right_support,
|
||||
ext_bottom_standoff[8],
|
||||
ext_bottom_standoff[9],
|
||||
ext_bottom_standoff[10],
|
||||
ext_bottom_standoff[11]];
|
||||
ext_bottom_standoff[11],
|
||||
ext_bottom_standoff[12]];
|
||||
translate([width-ext_top_standoff_support_size/4-(2*(wallthick+gap))-(corner_fillet/2),
|
||||
(corner_fillet/2)+ext_top_standoff_support_size/4,0]) standoff(normal_standoff,[false,10,2,"default"]);
|
||||
(corner_fillet/2)+ext_top_standoff_support_size/4,0]) standoff(extended_standoff,[false,10,2,"default"]);
|
||||
}
|
||||
// extended right-front standoff
|
||||
if(((width-pcb_loc_x-pcb_width-(gap+2*wallthick) >= 10 && depth-pcb_loc_y-pcb_depth >= 10) ||
|
||||
(width-pcb_loc_x-pcb_width-(gap+2*wallthick) >= 10 && depth-pcb_loc_y-pcb_depth <= 10) ||
|
||||
(width-pcb_loc_x-pcb_width-(gap+2*wallthick) <= 10 && depth-pcb_loc_y-pcb_depth >= 10)) &&
|
||||
ext_bottom_front_right_enable == true) {
|
||||
normal_standoff = [ext_bottom_standoff[0],
|
||||
extended_standoff = [ext_bottom_standoff[0],
|
||||
ext_bottom_standoff[1],
|
||||
bottom_height+ext_bottom_front_right_adjust,
|
||||
ext_bottom_standoff[2],
|
||||
ext_bottom_standoff[3],
|
||||
ext_bottom_standoff[4],
|
||||
ext_bottom_standoff[5],
|
||||
ext_bottom_standoff[6],
|
||||
ext_bottom_standoff[7],
|
||||
ext_bottom_front_right_support,
|
||||
ext_bottom_standoff[8],
|
||||
ext_bottom_standoff[9],
|
||||
ext_bottom_standoff[10],
|
||||
ext_bottom_standoff[11]];
|
||||
ext_bottom_standoff[11],
|
||||
ext_bottom_standoff[12]];
|
||||
translate([width-ext_top_standoff_support_size/4-(corner_fillet/2)-(2*(wallthick+gap)),
|
||||
depth-ext_top_standoff_support_size/4-(corner_fillet/2)-(2*(wallthick+gap)),0]) standoff(normal_standoff,[false,10,2,"default"]);
|
||||
depth-ext_top_standoff_support_size/4-(corner_fillet/2)-(2*(wallthick+gap)),0]) standoff(extended_standoff,[false,10,2,"default"]);
|
||||
}
|
||||
// extended left-rear standoff
|
||||
if((pcb_loc_x >= 10 || pcb_loc_y >= 10) && ext_bottom_rear_left_enable == true) {
|
||||
normal_standoff = [ext_bottom_standoff[0],
|
||||
extended_standoff = [ext_bottom_standoff[0],
|
||||
ext_bottom_standoff[1],
|
||||
bottom_height+ext_bottom_rear_left_adjust,
|
||||
ext_bottom_standoff[2],
|
||||
ext_bottom_standoff[3],
|
||||
ext_bottom_standoff[4],
|
||||
ext_bottom_standoff[5],
|
||||
ext_bottom_standoff[6],
|
||||
ext_bottom_standoff[7],
|
||||
ext_bottom_rear_left_support,
|
||||
ext_bottom_standoff[8],
|
||||
ext_bottom_standoff[9],
|
||||
ext_bottom_standoff[10],
|
||||
ext_bottom_standoff[11]];
|
||||
ext_bottom_standoff[11],
|
||||
ext_bottom_standoff[12]];
|
||||
translate([(corner_fillet/2)+ext_top_standoff_support_size/4,
|
||||
(corner_fillet/2)+ext_top_standoff_support_size/4,0]) standoff(normal_standoff,[false,10,2,"default"]);
|
||||
(corner_fillet/2)+ext_top_standoff_support_size/4,0]) standoff(extended_standoff,[false,10,2,"default"]);
|
||||
}
|
||||
// extended left-front standoff
|
||||
if(((pcb_loc_x >= 10 && depth-(pcb_loc_y+pcb_depth) >= 10) ||
|
||||
(pcb_loc_x <= 10 && depth-(pcb_loc_y+pcb_depth) >= 10) ||
|
||||
(pcb_loc_x >= 10 && depth-(pcb_loc_y+pcb_depth) <= 10)) &&
|
||||
ext_bottom_front_left_enable == true) {
|
||||
normal_standoff = [ext_bottom_standoff[0],
|
||||
extended_standoff = [ext_bottom_standoff[0],
|
||||
ext_bottom_standoff[1],
|
||||
bottom_height+ext_bottom_front_left_adjust,
|
||||
ext_bottom_standoff[2],
|
||||
ext_bottom_standoff[3],
|
||||
ext_bottom_standoff[4],
|
||||
ext_bottom_standoff[5],
|
||||
ext_bottom_standoff[6],
|
||||
ext_bottom_standoff[7],
|
||||
ext_bottom_front_left_support,
|
||||
ext_bottom_standoff[8],
|
||||
ext_bottom_standoff[9],
|
||||
ext_bottom_standoff[10],
|
||||
ext_bottom_standoff[11]];
|
||||
ext_bottom_standoff[11],
|
||||
ext_bottom_standoff[12]];
|
||||
translate([(corner_fillet/2)+ext_top_standoff_support_size/4,
|
||||
depth-ext_top_standoff_support_size/4-(corner_fillet/2)-(2*(wallthick+gap)),0])
|
||||
standoff(normal_standoff,[false,10,2,"default"]);
|
||||
standoff(extended_standoff,[false,10,2,"default"]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -308,20 +308,20 @@ module case_top(case_design) {
|
||||
pcbhole_pos = sbc_data[s[0]][i+10][4];
|
||||
|
||||
if (class == "pcbhole" && id == pcb_id && pcbhole_pos == "left_rear" && top_rear_left_enable == true &&
|
||||
top_standoff[5] != "blind") {
|
||||
translate([pcbhole_x,pcbhole_y,top_height+5]) cylinder(d=top_standoff[3]-.2, h=top_height);
|
||||
top_standoff[6] != "blind") {
|
||||
translate([pcbhole_x,pcbhole_y,top_height+5]) cylinder(d=top_standoff[4]-.2, h=top_height);
|
||||
}
|
||||
if (class == "pcbhole" && id == pcb_id && pcbhole_pos == "left_front" && top_front_left_enable == true &&
|
||||
top_standoff[5] != "blind") {
|
||||
translate([pcbhole_x,pcbhole_y,top_height+5]) cylinder(d=top_standoff[3]-.2, h=top_height);
|
||||
top_standoff[6] != "blind") {
|
||||
translate([pcbhole_x,pcbhole_y,top_height+5]) cylinder(d=top_standoff[4]-.2, h=top_height);
|
||||
}
|
||||
if (class == "pcbhole" && id == pcb_id && pcbhole_pos == "right_rear" && top_rear_right_enable == true &&
|
||||
top_standoff[5] != "blind") {
|
||||
translate([pcbhole_x,pcbhole_y,top_height+5]) cylinder(d=top_standoff[3]-.2, h=top_height);
|
||||
top_standoff[6] != "blind") {
|
||||
translate([pcbhole_x,pcbhole_y,top_height+5]) cylinder(d=top_standoff[4]-.2, h=top_height);
|
||||
}
|
||||
if (class == "pcbhole" && id == pcb_id && pcbhole_pos == "right_front" && top_front_right_enable == true &&
|
||||
top_standoff[5] != "blind") {
|
||||
translate([pcbhole_x,pcbhole_y,top_height+5]) cylinder(d=top_standoff[3]-.2, h=top_height);
|
||||
top_standoff[6] != "blind") {
|
||||
translate([pcbhole_x,pcbhole_y,top_height+5]) cylinder(d=top_standoff[4]-.2, h=top_height);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -329,32 +329,32 @@ module case_top(case_design) {
|
||||
if(ext_top_standoffs == true) {
|
||||
// right-rear standoff
|
||||
if((width-pcb_loc_x-pcb_width-(gap+2*wallthick) >= 10 || pcb_loc_y >= 10) &&
|
||||
ext_top_rear_right_enable == true && ext_top_standoff[5] != "blind") {
|
||||
ext_top_rear_right_enable == true && ext_top_standoff[6] != "blind") {
|
||||
translate([width-ext_top_standoff_support_size/4-(2*(wallthick+gap))-(corner_fillet/2),
|
||||
(corner_fillet/2)+ext_top_standoff_support_size/4,top_height+5]) cylinder(d=ext_top_standoff[3]-.2, h=top_height);
|
||||
(corner_fillet/2)+ext_top_standoff_support_size/4,top_height+5]) cylinder(d=ext_top_standoff[4]-.2, h=top_height);
|
||||
}
|
||||
// right-front standoff
|
||||
if(((width-pcb_loc_x-pcb_width-(gap+2*wallthick) >= 10 && depth-pcb_loc_y-pcb_depth >= 10) ||
|
||||
(width-pcb_loc_x-pcb_width-(gap+2*wallthick) >= 10 && depth-pcb_loc_y-pcb_depth <= 10) ||
|
||||
(width-pcb_loc_x-pcb_width-(gap+2*wallthick) <= 10 && depth-pcb_loc_y-pcb_depth >= 10)) &&
|
||||
ext_top_front_right_enable == true && ext_top_standoff[5] != "blind") {
|
||||
ext_top_front_right_enable == true && ext_top_standoff[6] != "blind") {
|
||||
translate([width-ext_top_standoff_support_size/4-(corner_fillet/2)-(2*(wallthick+gap)),
|
||||
depth-ext_top_standoff_support_size/4-(corner_fillet/2)-(2*(wallthick+gap)),top_height+5])
|
||||
cylinder(d=ext_top_standoff[3]-.2, h=top_height);
|
||||
cylinder(d=ext_top_standoff[4]-.2, h=top_height);
|
||||
}
|
||||
// left-rear standoff
|
||||
if((pcb_loc_x >= 10 || pcb_loc_y >= 10) && ext_top_rear_left_enable == true && ext_top_standoff[5] != "blind") {
|
||||
if((pcb_loc_x >= 10 || pcb_loc_y >= 10) && ext_top_rear_left_enable == true && ext_top_standoff[6] != "blind") {
|
||||
translate([(corner_fillet/2)+ext_top_standoff_support_size/4,
|
||||
(corner_fillet/2)+ext_top_standoff_support_size/4,top_height+5]) cylinder(d=ext_top_standoff[3]-.2, h=top_height);
|
||||
(corner_fillet/2)+ext_top_standoff_support_size/4,top_height+5]) cylinder(d=ext_top_standoff[4]-.2, h=top_height);
|
||||
}
|
||||
// left-front standoff
|
||||
if(((pcb_loc_x >= 10 && (depth-(pcb_loc_y+pcb_depth)) >= 10) ||
|
||||
(pcb_loc_x <= 10 && (depth-(pcb_loc_y+pcb_depth)) >= 10) ||
|
||||
(pcb_loc_x >= 10 && (depth-(pcb_loc_y+pcb_depth)) <= 10)) &&
|
||||
ext_top_front_left_enable == true && ext_top_standoff[5] != "blind") {
|
||||
ext_top_front_left_enable == true && ext_top_standoff[6] != "blind") {
|
||||
translate([+(corner_fillet/2)+ext_top_standoff_support_size/4,
|
||||
depth-ext_top_standoff_support_size/4-(corner_fillet/2)-(2*(wallthick+gap)),top_height+5])
|
||||
cylinder(d=ext_top_standoff[3]-.2, h=top_height);
|
||||
cylinder(d=ext_top_standoff[4]-.2, h=top_height);
|
||||
}
|
||||
}
|
||||
// top cover pattern
|
||||
@@ -381,14 +381,17 @@ module case_top(case_design) {
|
||||
}
|
||||
// rear io shield opening for standard form motherboards
|
||||
if(rear_io_shield == true) {
|
||||
if(sbc_model == "mini-stx_thin") {
|
||||
translate([6.2+pcb_loc_x,-4.5,-4.4+bottom_height-pcb_z+pcb_loc_z]) cube([123.95, 10+pcb_loc_y, 25]);
|
||||
}
|
||||
if(sbc_model == "mini-stx") {
|
||||
translate([6.2+pcb_loc_x,-4.5,-4.4+bottom_height-case_offset_bz-pcb_z+pcb_loc_z]) cube([123.95, 10+pcb_loc_y, 40]);
|
||||
translate([6.2+pcb_loc_x,-4.5,-4.4+bottom_height-pcb_z+pcb_loc_z]) cube([123.95, 10+pcb_loc_y, 40]);
|
||||
}
|
||||
if(sbc_model == "mini-itx_thin") {
|
||||
translate([-2.62+pcb_loc_x,-4.5,-2+bottom_height-case_offset_bz-pcb_z+pcb_loc_z]) cube([158.75, 10+pcb_loc_y, 25]);
|
||||
translate([-2.62+pcb_loc_x,-4.5,-2+bottom_height-pcb_z+pcb_loc_z]) cube([158.75, 10+pcb_loc_y, 25]);
|
||||
}
|
||||
if(sbc_model != "mini-stx" && sbc_model != "mini-itx_thin") {
|
||||
translate([-2.62+pcb_loc_x,-4.5,-2+bottom_height-case_offset_bz-pcb_z+pcb_loc_z]) cube([158.75, 10+pcb_loc_y, 44]);
|
||||
if(sbc_model != "mini-stx_thin" && sbc_model != "mini-stx" && sbc_model != "mini-itx_thin") {
|
||||
translate([-2.62+pcb_loc_x,-4.5,-2+bottom_height-pcb_z+pcb_loc_z]) cube([158.75, 10+pcb_loc_y, 44]);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -407,67 +410,71 @@ module case_top(case_design) {
|
||||
(pcbhole_pos == "left_rear" || pcbhole_pos == "left_front" || pcbhole_pos == "right_rear" || pcbhole_pos == "right_front")) {
|
||||
if (pcbhole_pos == "left_rear" && top_rear_left_enable == true) {
|
||||
top_support = top_sidewall_support == true ? top_rear_left_support : "none";
|
||||
normal_standoff = [top_standoff[0],
|
||||
pcb_standoff = [top_standoff[0],
|
||||
top_standoff[1],
|
||||
top_height+top_rear_left_adjust-pcb_loc_z,
|
||||
top_standoff[2],
|
||||
top_standoff[3],
|
||||
top_standoff[4],
|
||||
top_standoff[5],
|
||||
top_standoff[6],
|
||||
top_standoff[7],
|
||||
top_support,
|
||||
top_standoff[8],
|
||||
top_standoff[9],
|
||||
top_standoff[10],
|
||||
top_standoff[11]];
|
||||
translate([pcbhole_x,pcbhole_y,case_z]) standoff(normal_standoff,[false,10,2,"default"]);
|
||||
top_standoff[11],
|
||||
top_standoff[12]];
|
||||
translate([pcbhole_x,pcbhole_y,case_z]) standoff(pcb_standoff,[false,10,2,"default"]);
|
||||
}
|
||||
if (pcbhole_pos == "left_front" && top_front_left_enable == true) {
|
||||
top_support = top_sidewall_support == true ? top_front_left_support : "none";
|
||||
normal_standoff = [top_standoff[0],
|
||||
pcb_standoff = [top_standoff[0],
|
||||
top_standoff[1],
|
||||
top_height+top_front_left_adjust-pcb_loc_z,
|
||||
top_standoff[2],
|
||||
top_standoff[3],
|
||||
top_standoff[4],
|
||||
top_standoff[5],
|
||||
top_standoff[6],
|
||||
top_standoff[7],
|
||||
top_support,
|
||||
top_standoff[8],
|
||||
top_standoff[9],
|
||||
top_standoff[10],
|
||||
top_standoff[11]];
|
||||
translate([pcbhole_x,pcbhole_y,case_z]) standoff(normal_standoff,[false,10,2,"default"]);
|
||||
top_standoff[11],
|
||||
top_standoff[12]];
|
||||
translate([pcbhole_x,pcbhole_y,case_z]) standoff(pcb_standoff,[false,10,2,"default"]);
|
||||
}
|
||||
if (pcbhole_pos == "right_rear" && top_rear_right_enable == true) {
|
||||
top_support = top_sidewall_support == true ? top_rear_right_support : "none";
|
||||
normal_standoff = [top_standoff[0],
|
||||
pcb_standoff = [top_standoff[0],
|
||||
top_standoff[1],
|
||||
top_height+top_rear_right_adjust-pcb_loc_z,
|
||||
top_standoff[2],
|
||||
top_standoff[3],
|
||||
top_standoff[4],
|
||||
top_standoff[5],
|
||||
top_standoff[6],
|
||||
top_standoff[7],
|
||||
top_support,
|
||||
top_standoff[8],
|
||||
top_standoff[9],
|
||||
top_standoff[10],
|
||||
top_standoff[11]];
|
||||
translate([pcbhole_x,pcbhole_y,case_z]) standoff(normal_standoff,[false,10,2,"default"]);
|
||||
top_standoff[11],
|
||||
top_standoff[12]];
|
||||
translate([pcbhole_x,pcbhole_y,case_z]) standoff(pcb_standoff,[false,10,2,"default"]);
|
||||
}
|
||||
if (pcbhole_pos == "right_front" && top_front_right_enable == true) {
|
||||
top_support = top_sidewall_support == true ? top_front_right_support : "none";
|
||||
normal_standoff = [top_standoff[0],
|
||||
pcb_standoff = [top_standoff[0],
|
||||
top_standoff[1],
|
||||
top_height+top_front_right_adjust-pcb_loc_z,
|
||||
top_standoff[2],
|
||||
top_standoff[3],
|
||||
top_standoff[4],
|
||||
top_standoff[5],
|
||||
top_standoff[6],
|
||||
top_standoff[7],
|
||||
top_support,
|
||||
top_standoff[8],
|
||||
top_standoff[9],
|
||||
top_standoff[10],
|
||||
top_standoff[11]];
|
||||
translate([pcbhole_x,pcbhole_y,case_z]) standoff(normal_standoff,[false,10,2,"default"]);
|
||||
top_standoff[11],
|
||||
top_standoff[12]];
|
||||
translate([pcbhole_x,pcbhole_y,case_z]) standoff(pcb_standoff,[false,10,2,"default"]);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -476,79 +483,83 @@ module case_top(case_design) {
|
||||
if(ext_top_standoffs == true) {
|
||||
// extended right-rear standoff
|
||||
if((width-pcb_loc_x-pcb_width-(gap+2*wallthick) >= 10 || pcb_loc_y >= 10) && ext_top_rear_right_enable == true) {
|
||||
normal_standoff = [ext_top_standoff[0],
|
||||
extended_standoff = [ext_top_standoff[0],
|
||||
ext_top_standoff[1],
|
||||
top_height+ext_top_rear_right_adjust,
|
||||
ext_top_standoff[2],
|
||||
ext_top_standoff[3],
|
||||
ext_top_standoff[4],
|
||||
ext_top_standoff[5],
|
||||
ext_top_standoff[6],
|
||||
ext_top_standoff[7],
|
||||
ext_top_rear_right_support,
|
||||
ext_top_standoff[8],
|
||||
ext_top_standoff[9],
|
||||
ext_top_standoff[10],
|
||||
ext_top_standoff[11]];
|
||||
ext_top_standoff[11],
|
||||
ext_top_standoff[12]];
|
||||
translate([width-ext_top_standoff_support_size/4-(2*(wallthick+gap))-(corner_fillet/2),
|
||||
(corner_fillet/2)+ext_top_standoff_support_size/4,case_z]) standoff(normal_standoff,[false,10,2,"default"]);
|
||||
(corner_fillet/2)+ext_top_standoff_support_size/4,case_z]) standoff(extended_standoff,[false,10,2,"default"]);
|
||||
}
|
||||
// extended right-front standoff
|
||||
if(((width-pcb_loc_x-pcb_width-(gap+2*wallthick) >= 10 && depth-pcb_loc_y-pcb_depth >= 10) ||
|
||||
(width-pcb_loc_x-pcb_width-(gap+2*wallthick) >= 10 && depth-pcb_loc_y-pcb_depth <= 10) ||
|
||||
(width-pcb_loc_x-pcb_width-(gap+2*wallthick) <= 10 && depth-pcb_loc_y-pcb_depth >= 10)) &&
|
||||
ext_top_front_right_enable == true) {
|
||||
normal_standoff = [ext_top_standoff[0],
|
||||
extended_standoff = [ext_top_standoff[0],
|
||||
ext_top_standoff[1],
|
||||
top_height+ext_top_front_right_adjust,
|
||||
ext_top_standoff[2],
|
||||
ext_top_standoff[3],
|
||||
ext_top_standoff[4],
|
||||
ext_top_standoff[5],
|
||||
ext_top_standoff[6],
|
||||
ext_top_standoff[7],
|
||||
ext_top_front_right_support,
|
||||
ext_top_standoff[8],
|
||||
ext_top_standoff[9],
|
||||
ext_top_standoff[10],
|
||||
ext_top_standoff[11]];
|
||||
ext_top_standoff[11],
|
||||
ext_top_standoff[12]];
|
||||
translate([width-ext_top_standoff_support_size/4-(corner_fillet/2)-(2*(wallthick+gap)),
|
||||
depth-ext_top_standoff_support_size/4-(corner_fillet/2)-(2*(wallthick+gap)),case_z])
|
||||
standoff(normal_standoff,[false,10,2,"default"]);
|
||||
standoff(extended_standoff,[false,10,2,"default"]);
|
||||
}
|
||||
// extended left-rear standoff
|
||||
if((pcb_loc_x >= 10 || pcb_loc_y >= 10) && ext_top_rear_left_enable == true) {
|
||||
normal_standoff = [ext_top_standoff[0],
|
||||
top_height+ext_top_rear_left_adjust,
|
||||
ext_top_standoff[2],
|
||||
ext_top_standoff[3],
|
||||
ext_top_standoff[4],
|
||||
ext_top_standoff[5],
|
||||
ext_top_standoff[6],
|
||||
ext_top_rear_left_support,
|
||||
ext_top_standoff[8],
|
||||
ext_top_standoff[9],
|
||||
ext_top_standoff[10],
|
||||
ext_top_standoff[11]];
|
||||
extended_standoff = [ext_top_standoff[0],
|
||||
ext_top_standoff[1],
|
||||
top_height+ext_top_rear_left_adjust,
|
||||
ext_top_standoff[3],
|
||||
ext_top_standoff[4],
|
||||
ext_top_standoff[5],
|
||||
ext_top_standoff[6],
|
||||
ext_top_standoff[7],
|
||||
ext_top_rear_left_support,
|
||||
ext_top_standoff[9],
|
||||
ext_top_standoff[10],
|
||||
ext_top_standoff[11],
|
||||
ext_top_standoff[12]];
|
||||
translate([(corner_fillet/2)+ext_top_standoff_support_size/4,
|
||||
(corner_fillet/2)+ext_top_standoff_support_size/4,case_z]) standoff(normal_standoff,[false,10,2,"default"]);
|
||||
(corner_fillet/2)+ext_top_standoff_support_size/4,case_z]) standoff(extended_standoff,[false,10,2,"default"]);
|
||||
}
|
||||
// extended left-front standoff
|
||||
if(((pcb_loc_x >= 10 && (depth-(pcb_loc_y+pcb_depth)) >= 10) ||
|
||||
(pcb_loc_x <= 10 && (depth-(pcb_loc_y+pcb_depth)) >= 10) ||
|
||||
(pcb_loc_x >= 10 && depth-(pcb_loc_y+pcb_depth) <= 10)) &&
|
||||
ext_top_front_left_enable == true) {
|
||||
normal_standoff = [ext_top_standoff[0],
|
||||
extended_standoff = [ext_top_standoff[0],
|
||||
ext_top_standoff[1],
|
||||
top_height+ext_top_front_left_adjust,
|
||||
ext_top_standoff[2],
|
||||
ext_top_standoff[3],
|
||||
ext_top_standoff[4],
|
||||
ext_top_standoff[5],
|
||||
ext_top_standoff[6],
|
||||
ext_top_standoff[7],
|
||||
ext_top_front_left_support,
|
||||
ext_top_standoff[8],
|
||||
ext_top_standoff[9],
|
||||
ext_top_standoff[10],
|
||||
ext_top_standoff[11]];
|
||||
ext_top_standoff[11],
|
||||
ext_top_standoff[12]];
|
||||
translate([(corner_fillet/2)+ext_top_standoff_support_size/4,
|
||||
depth-ext_top_standoff_support_size/4-(corner_fillet/2)-(2*(wallthick+gap)), case_z])
|
||||
standoff(normal_standoff,[false,10,2,"default"]);
|
||||
standoff(extended_standoff,[false,10,2,"default"]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -29,7 +29,7 @@ include <./sbc_case_builder_accessories.cfg>;
|
||||
view = "model"; // [model, platter, part]
|
||||
individual_part = "bottom"; // [top, bottom, right, left, front, rear, io_shield, accessories]
|
||||
// single board computer model
|
||||
sbc_model = "c1+"; // ["c1+", "c2", "c4", "hc4", "xu4", "xu4q", "mc1", "hc1", "n1", "n2", "n2+", "n2l", "n2lq", "m1", "m1s", "h2", "h2+", "h3", "h3+", "show2", "rpipico", "rpipicow", "rpicm4+ioboard", "rpicm1", "rpicm3", "rpicm3l", "rpicm3+", "rpicm4s", "rpicm4", "rpicm4l", "rpizero", "rpizerow", "rpizero2w", "rpi1a+", "rpi1b+", "rpi2b", "rpi3a+", "rpi3b", "rpi3b+", "rpi4b", "rpi5", "rock64", "rockpro64", "quartz64a", "quartz64b", "h64b", "star64", "rock4a", "rock4b", "rock4a+", "rock4b+", "rock4c", "rock4c+", "rock5b-v1.3", "rock5b", "rock5bq", "nio12", "vim1", "vim2", "vim3", "vim3l", "vim4", "tinkerboard", "tinkerboard-s", "tinkerboard-2", "tinkerboard-2s", "tinkerboard-r2", "tinkerboard-r2s", "opizero", "opizero2", "opir1plus_lts", "opir1", "opi5", "jetsonnano", "lepotato", "sweetpotato", "tritium-h2+", "tritium-h3", "tritium-h5", "solitude", "alta", "atomicpi", "visionfive2", "visionfive2q", "licheerv+dock", "rak19007", "ssi-eeb", "ssi-ceb", "atx", "micro-atx", "dtx", "flex-atx", "mini-dtx", "mini-itx", "mini-itx_thin", "mini-stx", "nano-itx", "nuc", "pico-itx"]
|
||||
sbc_model = "c1+"; // ["c1+", "c2", "c4", "hc4", "xu4", "xu4q", "mc1", "hc1", "n1", "n2", "n2+", "n2l", "n2lq", "m1", "m1s", "h2", "h2+", "h3", "h3+", "show2", "rpipico", "rpipicow", "rpicm4+ioboard", "rpicm1", "rpicm3", "rpicm3l", "rpicm3+", "rpicm4s", "rpicm4", "rpicm4l", "rpizero", "rpizerow", "rpizero2w", "rpi1a+", "rpi1b+", "rpi2b", "rpi3a+", "rpi3b", "rpi3b+", "rpi4b", "rpi5", "rock64", "rockpro64", "quartz64a", "quartz64b", "h64b", "star64", "rock4a", "rock4b", "rock4a+", "rock4b+", "rock4c", "rock4c+", "rock5b-v1.3", "rock5b", "rock5bq", "nio12", "vim1", "vim2", "vim3", "vim3l", "vim4", "tinkerboard", "tinkerboard-s", "tinkerboard-2", "tinkerboard-2s", "tinkerboard-r2", "tinkerboard-r2s", "opizero", "opizero2", "opir1plus_lts", "opir1", "opi5", "jetsonnano", "lepotato", "sweetpotato", "tritium-h2+", "tritium-h3", "tritium-h5", "solitude", "alta", "atomicpi", "visionfive2", "visionfive2q", "licheerv+dock", "rak19007", "ssi-eeb", "ssi-ceb", "atx", "micro-atx", "dtx", "flex-atx", "mini-dtx", "mini-itx", "mini-itx_thin", "mini-stx", "mini-stx_thin", "nano-itx", "nuc", "pico-itx"]
|
||||
|
||||
// sbc off in model view
|
||||
sbc_off = false;
|
||||
@@ -40,7 +40,7 @@ sbc_highlight = false;
|
||||
// enable highlight for accessory subtractive geometry
|
||||
accessory_highlight = false;
|
||||
// base case design
|
||||
case_design = "shell"; // [shell,panel,stacked,tray,tray_sides,tray_vu5,tray_vu7,round,hex,snap,fitted,paper_split-top,paper_full-top,adapter_ssi-eeb,adapter_ssi-ceb,adapter_atx,adapter_micro-atx,adapter_dtx,adapter_flex-atx,adapter_mini-dtx,adapter_mini-itx,adapter_mini-itx_thin,adapter_mini-stx]
|
||||
case_design = "shell"; // [shell,panel,stacked,tray,tray_sides,tray_vu5,tray_vu7,round,hex,snap,fitted,paper_split-top,paper_full-top,adapter_ssi-eeb,adapter_ssi-ceb,adapter_atx,adapter_micro-atx,adapter_dtx,adapter_flex-atx,adapter_mini-dtx,adapter_mini-itx,adapter_mini-itx_thin,adapter_mini-stx,adapter_mini-stx_thin]
|
||||
|
||||
// raises top mm in model view or < 0 = off
|
||||
raise_top = 0; // [-1:100]
|
||||
@@ -108,7 +108,7 @@ sbc_top_standoffs = true;
|
||||
top_standoff_reverse = true;
|
||||
// enable wall support for standoffs
|
||||
top_sidewall_support = false;
|
||||
top_standoff_size = "m3"; //[m2, m2.5, m3, m4, custom]
|
||||
top_standoff_size = "m3"; //[m2_tap, m2, m2+, m2.5_tap, m2.5, m2.5+, m3_tap, m3, m3+, m4_tap, m4, m4+, custom]
|
||||
top_standoff_type = "blind"; //[none, countersunk, recessed, nut holder, blind]
|
||||
top_standoff_pillar = "hex"; //[hex, round]
|
||||
top_standoff_diameter = 5.75; //[0:.01:10]
|
||||
@@ -144,7 +144,7 @@ sbc_bottom_standoffs = true;
|
||||
bottom_standoff_reverse = false;
|
||||
// enable wall support for standoffs
|
||||
bottom_sidewall_support = false;
|
||||
bottom_standoff_size = "m3"; //[m2, m2.5, m3, m4, custom]
|
||||
bottom_standoff_size = "m3"; //[m2_tap, m2, m2+, m2.5_tap, m2.5, m2.5+, m3_tap, m3, m3+, m4_tap, m4, m4+, custom]
|
||||
bottom_standoff_type = "countersunk"; //[none, countersunk, recessed, nut holder, blind]
|
||||
bottom_standoff_pillar = "hex"; //[hex, round]
|
||||
bottom_standoff_diameter = 5.75; //[2:.01:10]
|
||||
@@ -209,6 +209,7 @@ ext_top_standoffs = true;
|
||||
ext_top_standoff_reverse = true;
|
||||
// enable wall support for extended standoffs
|
||||
ext_top_sidewall_support = true;
|
||||
ext_top_standoff_size = "m3"; //[m2_tap, m2, m2+, m2.5_tap, m2.5, m2.5+, m3_tap, m3, m3+, m4_tap, m4, m4+, custom]
|
||||
ext_top_standoff_type = "blind"; //[none, countersunk, recessed, nut holder, blind]
|
||||
ext_top_standoff_pillar = "hex"; //[hex, round]
|
||||
ext_top_standoff_diameter = 5.75; //[0:.01:10]
|
||||
@@ -218,6 +219,7 @@ ext_top_standoff_support_height = 4; //[0:.01:50]
|
||||
ext_top_standoff_insert = false;
|
||||
ext_top_standoff_insert_dia = 4.2; //.01
|
||||
ext_top_standoff_insert_height = 5.1; //.01
|
||||
/* [Extended Top Standoff Individual Settings] */
|
||||
// extended case top - lower left standoff settings
|
||||
ext_top_rear_left_enable = true;
|
||||
ext_top_rear_left_adjust = 0; //[-20:.01:20]
|
||||
@@ -235,13 +237,13 @@ ext_top_front_right_enable = true;
|
||||
ext_top_front_right_adjust = 0; //[-20:.01:20]
|
||||
ext_top_front_right_support = "front"; //[none,left,rear,front,right]
|
||||
|
||||
|
||||
/* [Extended Bottom Standoffs] */
|
||||
// enable case bottom extended standoffs
|
||||
ext_bottom_standoffs = true;
|
||||
ext_bottom_standoff_reverse = false;
|
||||
// enable wall support for extended standoffs
|
||||
ext_bottom_sidewall_support = true;
|
||||
ext_bottom_standoff_size = "m3"; //[m2_tap, m2, m2+, m2.5_tap, m2.5, m2.5+, m3_tap, m3, m3+, m4_tap, m4, m4+, custom]
|
||||
ext_bottom_standoff_type = "countersunk"; //[none, countersunk, recessed, nut holder, blind]
|
||||
ext_bottom_standoff_pillar = "hex"; //[hex, round]
|
||||
ext_bottom_standoff_diameter = 5.75; //[2:.01:10]
|
||||
@@ -251,6 +253,8 @@ ext_bottom_standoff_support_height = 4; //[0:.01:50]
|
||||
ext_bottom_standoff_insert = false;
|
||||
ext_bottom_standoff_insert_dia = 4.2; //.01
|
||||
ext_bottom_standoff_insert_height = 5.1; //.01
|
||||
|
||||
/* [Extended Bottom Standoff Individual Settings] */
|
||||
// extended case bottom - rear left standoff settings
|
||||
ext_bottom_rear_left_enable = true;
|
||||
ext_bottom_rear_left_adjust = 0; //[-20:.01:20]
|
||||
@@ -280,7 +284,7 @@ pcb_bmaxz = sbc_data[s[0]][11][6];
|
||||
pcb_color = sbc_data[s[0]][11][1];
|
||||
pcb_radius = sbc_data[s[0]][11][0];
|
||||
|
||||
pcb_z = sbc_model == "ssi-eeb" || sbc_model == "ssi-ceb" || sbc_model == "atx" || sbc_model == "micro-atx" || sbc_model == "dtx" || sbc_model == "flex-atx" || sbc_model == "mini-dtx" || sbc_model == "mini-itx" || sbc_model == "mini-stx" || sbc_model == "nano-itx" || sbc_model == "nuc" || sbc_model == "pico-itx" ? pcb_z_orig + standard_motherboard_thickness : pcb_z_orig;
|
||||
pcb_z = sbc_model == "ssi-eeb" || sbc_model == "ssi-ceb" || sbc_model == "atx" || sbc_model == "micro-atx" || sbc_model == "dtx" || sbc_model == "flex-atx" || sbc_model == "mini-dtx" || sbc_model == "mini-itx" || sbc_model == "mini-itx_thin" || sbc_model == "mini-stx" || sbc_model == "mini-stx_thin" || sbc_model == "nano-itx" || sbc_model == "nuc" || sbc_model == "pico-itx" ? pcb_z_orig + standard_motherboard_thickness : pcb_z_orig;
|
||||
width = pcb_width+2*(wallthick+gap)+case_offset_x;
|
||||
depth = pcb_depth+2*(wallthick+gap)+case_offset_y;
|
||||
top_height = pcb_tmaxz+floorthick+case_offset_tz+pcb_loc_z;
|
||||
@@ -290,13 +294,10 @@ case_diameter = sqrt(pow(width-wallthick-gap,2)+pow(depth-wallthick-gap,2));
|
||||
hex_diameter = sqrt(pow(width+2*(wallthick+gap),2)+pow(depth+2*(wallthick+gap),2));
|
||||
|
||||
/* [Hidden] */
|
||||
top_dia = top_standoff_size == "m2" ? 4 : top_standoff_size == "m2.5" ? 4 :
|
||||
top_standoff_size == "m3" ? 5 : top_standoff_size == "m4" ? 6 : top_standoff_diameter;
|
||||
top_hole_size = top_standoff_size == "m2" ? 2 : top_standoff_size == "m2.5" ? 2.5 :
|
||||
top_standoff_size == "m3" ? 3 : top_standoff_size == "m4" ? 4 : top_standoff_hole_size;
|
||||
top_standoff = [top_dia,
|
||||
top_standoff = [top_standoff_size,
|
||||
top_standoff_diameter,
|
||||
18,
|
||||
top_hole_size,
|
||||
top_standoff_hole_size,
|
||||
top_standoff_support_size,
|
||||
top_standoff_support_height,
|
||||
top_standoff_type,
|
||||
@@ -306,13 +307,11 @@ top_standoff = [top_dia,
|
||||
top_standoff_insert,
|
||||
top_standoff_insert_dia,
|
||||
top_standoff_insert_height];
|
||||
bottom_dia = bottom_standoff_size == "m2" ? 4 : bottom_standoff_size == "m2.5" ? 4 :
|
||||
bottom_standoff_size == "m3" ? 5 : bottom_standoff_size == "m4" ? 6 : bottom_standoff_diameter;
|
||||
bottom_hole_size = bottom_standoff_size == "m2" ? 2 : bottom_standoff_size == "m2.5" ? 2.5 :
|
||||
bottom_standoff_size == "m3" ? 3 : bottom_standoff_size == "m4" ? 4 : bottom_standoff_hole_size;
|
||||
bottom_standoff = [bottom_dia,
|
||||
|
||||
bottom_standoff = [bottom_standoff_size,
|
||||
bottom_standoff_diameter,
|
||||
6,
|
||||
bottom_hole_size,
|
||||
bottom_standoff_hole_size,
|
||||
bottom_standoff_support_size,
|
||||
bottom_standoff_support_height,
|
||||
bottom_standoff_type,
|
||||
@@ -322,7 +321,8 @@ bottom_standoff = [bottom_dia,
|
||||
bottom_standoff_insert,
|
||||
bottom_standoff_insert_dia,
|
||||
bottom_standoff_insert_height];
|
||||
ext_top_standoff = [ext_top_standoff_diameter,
|
||||
ext_top_standoff = [ext_top_standoff_size,
|
||||
ext_top_standoff_diameter,
|
||||
18,
|
||||
ext_top_standoff_hole_size,
|
||||
ext_top_standoff_support_size,
|
||||
@@ -334,7 +334,8 @@ ext_top_standoff = [ext_top_standoff_diameter,
|
||||
ext_top_standoff_insert,
|
||||
ext_top_standoff_insert_dia,
|
||||
ext_top_standoff_insert_height];
|
||||
ext_bottom_standoff = [ext_bottom_standoff_diameter,
|
||||
ext_bottom_standoff = [ext_bottom_standoff_size,
|
||||
ext_bottom_standoff_diameter,
|
||||
6,
|
||||
ext_bottom_standoff_hole_size,
|
||||
ext_bottom_standoff_support_size,
|
||||
@@ -397,7 +398,7 @@ if (view == "platter") {
|
||||
case_bottom(case_design);
|
||||
translate([0,(2*depth)+20,case_z+floorthick]) rotate([180,0,0]) case_top(case_design);
|
||||
}
|
||||
if(case_design == "adapter_mini-stx" || case_design == "adapter_mini-itx_thin" || case_design == "adapter_mini-itx" || case_design == "adapter_flex-atx" || case_design == "adapter_mini-dtx" || case_design == "adapter_dtx" || case_design == "adapter_micro-atx" || case_design == "adapter_atx" || case_design == "adapter_ssi-ceb" || case_design == "adapter_ssi-eeb") {
|
||||
if(case_design == "adapter_mini-stx_thin" || case_design == "adapter_mini-stx" || case_design == "adapter_mini-itx_thin" || case_design == "adapter_mini-itx" || case_design == "adapter_flex-atx" || case_design == "adapter_mini-dtx" || case_design == "adapter_dtx" || case_design == "adapter_micro-atx" || case_design == "adapter_atx" || case_design == "adapter_ssi-ceb" || case_design == "adapter_ssi-eeb") {
|
||||
color("dimgrey",1) case_adapter(case_design);
|
||||
color("dimgrey",1) translate([-180, 0, 4]) rotate([270,0,0]) io_shield();
|
||||
}
|
||||
@@ -710,13 +711,13 @@ if (view == "model") {
|
||||
sbc(sbc_model, cooling, fan_size, gpio_opening, uart_opening, false);
|
||||
}
|
||||
}
|
||||
if(case_design == "adapter_mini-stx" || case_design == "adapter_mini-itx_thin" || case_design == "adapter_mini-itx" || case_design == "adapter_flex-atx" || case_design == "adapter_mini-dtx" || case_design == "adapter_dtx" || case_design == "adapter_micro-atx" || case_design == "adapter_atx" || case_design == "adapter_ssi-ceb" || case_design == "adapter_ssi-eeb") {
|
||||
if(case_design == "adapter_mini-stx_thin" || case_design == "adapter_mini-stx" || case_design == "adapter_mini-itx_thin" || case_design == "adapter_mini-itx" || case_design == "adapter_flex-atx" || case_design == "adapter_mini-dtx" || case_design == "adapter_dtx" || case_design == "adapter_micro-atx" || case_design == "adapter_atx" || case_design == "adapter_ssi-ceb" || case_design == "adapter_ssi-eeb") {
|
||||
color("dimgrey",1) case_adapter(case_design);
|
||||
if(sbc_off == false) {
|
||||
translate([pcb_loc_x ,pcb_loc_y,bottom_height-case_offset_bz-pcb_z+pcb_loc_z])
|
||||
sbc(sbc_model, cooling, fan_size, gpio_opening, uart_opening, false);
|
||||
}
|
||||
if(case_design == "adapter_mini-stx") {
|
||||
if(case_design == "adapter_mini-stx_thin" || case_design == "adapter_mini-stx") {
|
||||
color("dimgrey",1) translate([-1.2,-4.5,-2]) io_shield();
|
||||
}
|
||||
else {
|
||||
@@ -818,7 +819,7 @@ if (view == "part") {
|
||||
}
|
||||
}
|
||||
if(individual_part == "bottom") {
|
||||
if(case_design == "adapter_mini-stx" || case_design == "adapter_mini-itx_thin" || case_design == "adapter_mini-itx" || case_design == "adapter_flex-atx" || case_design == "adapter_mini-dtx" || case_design == "adapter_dtx" || case_design == "adapter_micro-atx" || case_design == "adapter_atx" || case_design == "adapter_ssi-ceb" || case_design == "adapter_ssi-eeb") {
|
||||
if(case_design == "adapter_mini-stx_thin" || case_design == "adapter_mini-stx" || case_design == "adapter_mini-itx_thin" || case_design == "adapter_mini-itx" || case_design == "adapter_flex-atx" || case_design == "adapter_mini-dtx" || case_design == "adapter_dtx" || case_design == "adapter_micro-atx" || case_design == "adapter_atx" || case_design == "adapter_ssi-ceb" || case_design == "adapter_ssi-eeb") {
|
||||
case_adapter(case_design);
|
||||
}
|
||||
else {
|
||||
@@ -856,7 +857,7 @@ if (view == "part") {
|
||||
}
|
||||
}
|
||||
if(individual_part == "io_shield") {
|
||||
if(case_design == "adapter_mini-stx" || case_design == "adapter_mini-itx_thin" || case_design == "adapter_mini-itx" || case_design == "adapter_flex-atx" || case_design == "adapter_mini-dtx" || case_design == "adapter_dtx" || case_design == "adapter_micro-atx" || case_design == "adapter_atx" || case_design == "adapter_ssi-ceb" || case_design == "adapter_ssi-eeb") {
|
||||
if(case_design == "adapter_mini-stx_thin" || case_design == "adapter_mini-stx" || case_design == "adapter_mini-itx_thin" || case_design == "adapter_mini-itx" || case_design == "adapter_flex-atx" || case_design == "adapter_mini-dtx" || case_design == "adapter_dtx" || case_design == "adapter_micro-atx" || case_design == "adapter_atx" || case_design == "adapter_ssi-ceb" || case_design == "adapter_ssi-eeb") {
|
||||
translate([0, 0, 4]) rotate([270,0,0]) io_shield();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -175,8 +175,8 @@ accessory_data = [
|
||||
|
||||
["c4_tray_boombox",
|
||||
"sub","vent",44,59,12,"bottom",[0,0,0],["case",false,true,false],[2,10,4],[1,10,"vertical",1],[false,10,2,"default"],
|
||||
"add2","standoff",28.5,3.5,0,"bottom",[0,0,0],["case",false,false,false],[0,0,0],[[5.75,13,3.6,10,4,"countersunk","hex",false,false,4.5,5.1]],[true,10,2,"default"],
|
||||
"add2","standoff",28.5,56.25,0,"bottom",[0,0,0],["case",false,false,false],[0,0,0],[[5.75,13,3.6,10,4,"countersunk","hex",false,false,4.5,5.1]],[true,10,2,"default"],
|
||||
"add2","standoff",28.5,3.5,0,"bottom",[0,0,0],["case",false,false,false],[0,0,0],[["custom",5.75,13,3.6,10,4,"countersunk","hex",false,false,4.5,5.1]],[true,10,2,"default"],
|
||||
"add2","standoff",28.5,56.25,0,"bottom",[0,0,0],["case",false,false,false],[0,0,0],[["custom",5.75,13,3.6,10,4,"countersunk","hex",false,false,4.5,5.1]],[true,10,2,"default"],
|
||||
"add2","hk_boom_speaker_holder",16.75,54.6,17.5,"bottom",[90,0,180],["case",false,true,false],[0,0,0],["friction",0],[false,10,2,"default"],
|
||||
"add2","hk_boom_speaker_holder",108.25,54.6,17.5,"bottom",[90,0,180],["case",false,true,false],[0,0,0],["friction",0],[false,10,2,"default"],
|
||||
"add2","hk_boom_grill",16.75,59,17.5,"bottom",[90,0,180],["case",false,true,false],[0,0,0],["dome"],[false,10,2,"default"],
|
||||
@@ -200,18 +200,6 @@ accessory_data = [
|
||||
"add1","keyhole",40,30,0,"bottom",[0,0,0],["case",false,false,false],[0,0,0],[[7,3.2,6,2]],[true,10,2,"default"]],
|
||||
|
||||
// Odroid-HC4
|
||||
["hc4_tray_drivebox2.5",
|
||||
"add2","hk_hc4_oled_holder",20,82,1.99,"bottom",[0,0,0],["case",false,true,false],[0,0,2],[0],[true,10,2,"default"],
|
||||
"model","hk_hc4_oled",20,82,2,"bottom",[0,0,0],["case",false,true,false],[0,0,0],[0],[false,10,2,"default"],
|
||||
"suball","vent",72,87,27,"bottom",[0,0,0],["case",false,true,false],[2,13,4],[1,4,"vertical",1],[false,10,2,"default"],
|
||||
"model","fan",24.25,35,3,"bottom",[0,0,0],["sbc",true,true,false],[40,0,3],["box40x10"],[false,10,2,"default"],
|
||||
"add2","hd_holder",10,-24,1.99,"bottom",[0,0,0],["case",true,true,false],[0,0,0],[2.5,"portrait"],[false,10,2,"default"],
|
||||
"model","hd25",10,-24,2,"bottom",[0,0,0],["case",true,true,false],[0,0,0],["portrait",15],[true,17,2,"both"],
|
||||
"model","hd25",10,-24,20,"bottom",[0,0,0],["case",true,true,false],[0,0,0],["portrait",15],[true,17,2,"default"],
|
||||
"model","fan",37,10,7,"bottom",[90,0,0],["case",true,false,false],[40,0,3],["box40x10"],[true,10,15,"fan_open"],
|
||||
"model","fan_cover",37,-4,7,"bottom",[90,0,0],["case",true,false,false],[40,0,3],["fan_1"],[false,10,2,"default"],
|
||||
"platter","fan_cover",-50,50,0,"bottom",[0,0,0],["case",false,false,false],[40,0,3],["fan_1"],[false,10,2,"default"]],
|
||||
|
||||
["hc4_shell_drivebox2.5",
|
||||
"add2","hk_hc4_oled_holder",20,82,1.99,"bottom",[0,0,0],["case",false,true,false],[0,0,2],[0],[true,10,2,"default"],
|
||||
"model","hk_hc4_oled",20,82,1.99,"bottom",[0,0,0],["case",false,true,false],[0,0,0],[0],[false,10,2,"default"],
|
||||
@@ -261,6 +249,18 @@ accessory_data = [
|
||||
"model","fan",5.25,10,7.5,"bottom",[90,0,0],["case",true,false,false],[40,0,3],["box40x10"],[true,10,2,"fan_open"],
|
||||
"platter","fan_cover",-50,50,0,"bottom",[0,0,0],["case",false,false,false],[40,0,3],["fan_1"],[false,10,2,"default"]],
|
||||
|
||||
["hc4_tray_drivebox2.5",
|
||||
"add2","hk_hc4_oled_holder",20,82,1.99,"bottom",[0,0,0],["case",false,true,false],[0,0,2],[0],[true,10,2,"default"],
|
||||
"model","hk_hc4_oled",20,82,2,"bottom",[0,0,0],["case",false,true,false],[0,0,0],[0],[false,10,2,"default"],
|
||||
"suball","vent",72,87,27,"bottom",[0,0,0],["case",false,true,false],[2,13,4],[1,4,"vertical",1],[false,10,2,"default"],
|
||||
"model","fan",24.25,35,3,"bottom",[0,0,0],["sbc",true,true,false],[40,0,3],["box40x10"],[false,10,2,"default"],
|
||||
"add2","hd_holder",10,-24,1.99,"bottom",[0,0,0],["case",true,true,false],[0,0,0],[2.5,"portrait"],[false,10,2,"default"],
|
||||
"model","hd25",10,-24,2,"bottom",[0,0,0],["case",true,true,false],[0,0,0],["portrait",15],[true,17,2,"both"],
|
||||
"model","hd25",10,-24,20,"bottom",[0,0,0],["case",true,true,false],[0,0,0],["portrait",15],[true,17,2,"default"],
|
||||
"model","fan",37,10,7,"bottom",[90,0,0],["case",true,false,false],[40,0,3],["box40x10"],[true,10,2,"fan_open"],
|
||||
"model","fan_cover",37,-4,7,"bottom",[90,0,0],["case",true,false,false],[40,0,3],["fan_1"],[false,10,2,"default"],
|
||||
"platter","fan_cover",-50,50,0,"bottom",[0,0,0],["case",false,false,false],[40,0,3],["fan_1"],[false,10,2,"default"]],
|
||||
|
||||
// Odroid-M1S
|
||||
["m1s_shell_nvme",
|
||||
"sub","vent_hex",37,5,-1,"bottom",[0,0,0],["sbc",false,false,false],[11,3,5],[5,1.5,"horizontal",1],[false,10,2,"default"],
|
||||
@@ -275,10 +275,10 @@ accessory_data = [
|
||||
["m1s_shell_ups",
|
||||
"sub","vent_hex",0,5,17,"top",[0,0,0],["case",false,false,true],[9,21,8],[5,1.5,"horizontal",1],[false,10,2,"default"],
|
||||
"model","hk_m1s_ups",-1,122.5,5,"bottom",[0,0,270],["sbc",false,false,false],[0,0,0],[0],[true,10,2,"default"],
|
||||
"add2","standoff",2.5,11,0,"bottom",[0,0,0],["sbc",false,false,false],[0,0,0],[[5.75,5,3.6,10,4,"countersunk","hex",false,false,4.5,5.1]],[true,10,2,"default"],
|
||||
"add2","standoff",27.5,11,0,"bottom",[0,0,0],["sbc",false,false,false],[0,0,0],[[5.75,5,3.6,10,4,"countersunk","hex",false,false,4.5,5.1]],[true,10,2,"default"],
|
||||
"add2","standoff",2.5,119,0,"bottom",[0,0,0],["sbc",false,false,false],[0,0,0],[[5.75,5,3.6,10,4,"countersunk","hex",false,false,4.5,5.1]],[true,10,2,"default"],
|
||||
"add2","standoff",27.5,119,0,"bottom",[0,0,0],["sbc",false,false,false],[0,0,0],[[5.75,5,3.6,10,4,"countersunk","hex",false,false,4.5,5.1]],[true,10,2,"default"],
|
||||
"add2","standoff",2.5,11,0,"bottom",[0,0,0],["sbc",false,false,false],[0,0,0],[["custom",5.75,5,3.6,10,4,"countersunk","hex",false,false,4.5,5.1]],[true,10,2,"default"],
|
||||
"add2","standoff",27.5,11,0,"bottom",[0,0,0],["sbc",false,false,false],[0,0,0],[["custom",5.75,5,3.6,10,4,"countersunk","hex",false,false,4.5,5.1]],[true,10,2,"default"],
|
||||
"add2","standoff",2.5,119,0,"bottom",[0,0,0],["sbc",false,false,false],[0,0,0],[["custom",5.75,5,3.6,10,4,"countersunk","hex",false,false,4.5,5.1]],[true,10,2,"default"],
|
||||
"add2","standoff",27.5,119,0,"bottom",[0,0,0],["sbc",false,false,false],[0,0,0],[["custom",5.75,5,3.6,10,4,"countersunk","hex",false,false,4.5,5.1]],[true,10,2,"default"],
|
||||
"add2","button",2,33.5,21.2,"top",[0,0,0],["sbc-case_z",false,false,true],[10,0,23.5],["recess"],[true,10,2,"default"],
|
||||
"model","button_assembly",2,33.5,21.2,"top",[0,0,0],["sbc-case_z",false,false,true],[10,0,23.5],["recess"],[false,10,2,"default"],
|
||||
"platter","button_assembly",-20,0,0,"top",[0,0,0],["case",false,false,false],[10,0,23.5],["recess"],[false,10,2,"default"],
|
||||
@@ -306,10 +306,10 @@ accessory_data = [
|
||||
"sub","vent",-3.75,30,9,"bottom",[0,0,90],["case",false,false,false],[2,10,4],[1,17,"vertical",1],[false,10,2,"default"],
|
||||
"sub","vent",93,30,9,"bottom",[0,0,90],["case",true,false,false],[2,10,4],[1,17,"vertical",1],[false,10,2,"default"],
|
||||
"model","fan",10,1,25,"top",[0,0,0],["case",true,true,true],[0,0,0],["box60x10"],[true,10,2,"fan_hex"],
|
||||
"add2","standoff",22,36,0,"bottom",[0,0,0],["case",true,true,false],[0,0,0],[[5.75,5,3.6,10,4,"countersunk","hex",false,false,4.5,5.1]],[true,10,2,"default"],
|
||||
"add2","standoff",22,112.5,0,"bottom",[0,0,0],["case",true,true,false],[0,0,0],[[5.75,5,3.6,10,4,"countersunk","hex",false,false,4.5,5.1]],[true,10,2,"default"],
|
||||
"add2","standoff",83.5,36,0,"bottom",[0,0,0],["case",true,true,false],[0,0,0],[[5.75,5,3.6,10,4,"countersunk","hex",false,false,4.5,5.1]],[true,10,2,"default"],
|
||||
"add2","standoff",83.5,112.5,0,"bottom",[0,0,0],["case",true,true,false],[0,0,0],[[5.75,5,3.6,10,4,"countersunk","hex",false,false,4.5,5.1]],[true,10,2,"default"],
|
||||
"add2","standoff",22,36,0,"bottom",[0,0,0],["case",true,true,false],[0,0,0],[["custom",5.75,5,3.6,10,4,"countersunk","hex",false,false,4.5,5.1]],[true,10,2,"default"],
|
||||
"add2","standoff",22,112.5,0,"bottom",[0,0,0],["case",true,true,false],[0,0,0],[["custom",5.75,5,3.6,10,4,"countersunk","hex",false,false,4.5,5.1]],[true,10,2,"default"],
|
||||
"add2","standoff",83.5,36,0,"bottom",[0,0,0],["case",true,true,false],[0,0,0],[["custom",5.75,5,3.6,10,4,"countersunk","hex",false,false,4.5,5.1]],[true,10,2,"default"],
|
||||
"add2","standoff",83.5,112.5,0,"bottom",[0,0,0],["case",true,true,false],[0,0,0],[["custom",5.75,5,3.6,10,4,"countersunk","hex",false,false,4.5,5.1]],[true,10,2,"default"],
|
||||
"model","hd25",18,22,5,"bottom",[0,0,0],["case",true,true,false],[0,0,0],["portrait",15],[true,10,2,"bottom"]],
|
||||
|
||||
["m1_fitted_pizzabox3.5",
|
||||
@@ -317,12 +317,12 @@ accessory_data = [
|
||||
"sub","vent",92,60,9,"bottom",[0,0,90],["case",true,false,false],[2,10,4],[1,17,"vertical",1],[false,10,2,"default"],
|
||||
"suball","vent",-89,126,15,"bottom",[0,0,0],["case",true,true,false],[2,13,4],[1,4,"vertical",1],[false,10,2,"default"],
|
||||
"model","fan",-100,63,25,"top",[0,0,0],["case",true,true,true],[0,0,0],["box60x10"],[true,10,2,"fan_hex"],
|
||||
"add2","standoff",-8.75,14.25,0,"bottom",[0,0,0],["case",true,true,false],[0,0,0],[[5.75,5,3.6,10,4,"countersunk","hex",false,false,4.5,5.1]],[true,10,2,"default"],
|
||||
"add2","standoff",-8.75,58.75,0,"bottom",[0,0,0],["case",true,true,false],[0,0,0],[[5.75,5,3.6,10,4,"countersunk","hex",false,false,4.5,5.1]],[true,10,2,"default"],
|
||||
"add2","standoff",-8.75,90.5,0,"bottom",[0,0,0],["case",true,true,false],[0,0,0],[[5.75,5,3.6,10,4,"countersunk","hex",false,false,4.5,5.1]],[true,10,2,"default"],
|
||||
"add2","standoff",86.5,14.25,0,"bottom",[0,0,0],["case",true,true,false],[0,0,0],[[5.75,5,3.6,10,4,"countersunk","hex",false,false,4.5,5.1]],[true,10,2,"default"],
|
||||
"add2","standoff",86.5,58.75,0,"bottom",[0,0,0],["case",true,true,false],[0,0,0],[[5.75,5,3.6,10,4,"countersunk","hex",false,false,4.5,5.1]],[true,10,2,"default"],
|
||||
"add2","standoff",86.5,90.5,0,"bottom",[0,0,0],["case",true,true,false],[0,0,0],[[5.75,5,3.6,10,4,"countersunk","hex",false,false,4.5,5.1]],[true,10,2,"default"],
|
||||
"add2","standoff",-8.75,14.25,0,"bottom",[0,0,0],["case",true,true,false],[0,0,0],[["custom",5.75,5,3.6,10,4,"countersunk","hex",false,false,4.5,5.1]],[true,10,2,"default"],
|
||||
"add2","standoff",-8.75,58.75,0,"bottom",[0,0,0],["case",true,true,false],[0,0,0],[["custom",5.75,5,3.6,10,4,"countersunk","hex",false,false,4.5,5.1]],[true,10,2,"default"],
|
||||
"add2","standoff",-8.75,90.5,0,"bottom",[0,0,0],["case",true,true,false],[0,0,0],[["custom",5.75,5,3.6,10,4,"countersunk","hex",false,false,4.5,5.1]],[true,10,2,"default"],
|
||||
"add2","standoff",86.5,14.25,0,"bottom",[0,0,0],["case",true,true,false],[0,0,0],[["custom",5.75,5,3.6,10,4,"countersunk","hex",false,false,4.5,5.1]],[true,10,2,"default"],
|
||||
"add2","standoff",86.5,58.75,0,"bottom",[0,0,0],["case",true,true,false],[0,0,0],[["custom",5.75,5,3.6,10,4,"countersunk","hex",false,false,4.5,5.1]],[true,10,2,"default"],
|
||||
"add2","standoff",86.5,90.5,0,"bottom",[0,0,0],["case",true,true,false],[0,0,0],[["custom",5.75,5,3.6,10,4,"countersunk","hex",false,false,4.5,5.1]],[true,10,2,"default"],
|
||||
"model","hd35",-12,-27,5,"bottom",[0,0,0],["case",true,true,false],[0,0,0],["portrait"],[true,10,2,"bottom"]],
|
||||
|
||||
// Odroid-H3
|
||||
@@ -491,10 +491,10 @@ accessory_data = [
|
||||
|
||||
|
||||
["adapter_mini-stx_m1s",
|
||||
"add2","standoff",5,100,0,"bottom",[0,0,0],["sbc",false,false,false],[0,0,0],[[5.75,5,3.6,10,4,"countersunk","hex",false,false,4.5,5.1]],[true,10,2,"default"],
|
||||
"add2","standoff",5,125,0,"bottom",[0,0,0],["sbc",false,false,false],[0,0,0],[[5.75,5,3.6,10,4,"countersunk","hex",false,false,4.5,5.1]],[true,10,2,"default"],
|
||||
"add2","standoff",113,100,0,"bottom",[0,0,0],["sbc",false,false,false],[0,0,0],[[5.75,5,3.6,10,4,"countersunk","hex",false,false,4.5,5.1]],[true,10,2,"default"],
|
||||
"add2","standoff",113,125,0,"bottom",[0,0,0],["sbc",false,false,false],[0,0,0],[[5.75,5,3.6,10,4,"countersunk","hex",false,false,4.5,5.1]],[true,10,2,"default"],
|
||||
"add2","standoff",5,100,0,"bottom",[0,0,0],["sbc",false,false,false],[0,0,0],[["custom",5.75,5,3.6,10,4,"countersunk","hex",false,false,4.5,5.1]],[true,10,2,"default"],
|
||||
"add2","standoff",5,125,0,"bottom",[0,0,0],["sbc",false,false,false],[0,0,0],[["custom",5.75,5,3.6,10,4,"countersunk","hex",false,false,4.5,5.1]],[true,10,2,"default"],
|
||||
"add2","standoff",113,100,0,"bottom",[0,0,0],["sbc",false,false,false],[0,0,0],[["custom",5.75,5,3.6,10,4,"countersunk","hex",false,false,4.5,5.1]],[true,10,2,"default"],
|
||||
"add2","standoff",113,125,0,"bottom",[0,0,0],["sbc",false,false,false],[0,0,0],[["custom",5.75,5,3.6,10,4,"countersunk","hex",false,false,4.5,5.1]],[true,10,2,"default"],
|
||||
"model","hk_m1s_ups",2,97,5,"bottom",[0,0,0],["sbc",false,false,false],[0,0,0],[0],[true,110,2,"default"]],
|
||||
];
|
||||
|
||||
|
||||
Reference in New Issue
Block a user