From 045aa2874a1349559c6fe7ab8bda248b422e7843 Mon Sep 17 00:00:00 2001 From: Edward Kisiel Date: Wed, 24 Apr 2024 16:09:44 -0400 Subject: [PATCH] finished named standoff size for extended standoffs, added mini-stx-thin adapter and io shield, updated readme.md and other fixes. --- README.md | 5 +- lib/fans.scad | 8 +- lib/standoff.scad | 59 +-- mod/case_adapter.scad | 68 +-- mod/case_bottom.scad | 131 +++--- mod/case_top.scad | 147 ++++--- sbc_case_builder.json | 726 ++++++++++++++++++++++++------- sbc_case_builder.scad | 51 +-- sbc_case_builder_accessories.cfg | 64 +-- 9 files changed, 855 insertions(+), 404 deletions(-) diff --git a/README.md b/README.md index 000b497..e740253 100644 --- a/README.md +++ b/README.md @@ -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 diff --git a/lib/fans.scad b/lib/fans.scad index 3d489e9..6c0333e 100644 --- a/lib/fans.scad +++ b/lib/fans.scad @@ -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) { diff --git a/lib/standoff.scad b/lib/standoff.scad index a3e4fe4..23989d7 100644 --- a/lib/standoff.scad +++ b/lib/standoff.scad @@ -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) { diff --git a/mod/case_adapter.scad b/mod/case_adapter.scad index a531f03..ab941f2 100644 --- a/mod/case_adapter.scad +++ b/mod/case_adapter.scad @@ -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() { diff --git a/mod/case_bottom.scad b/mod/case_bottom.scad index 060c978..7f67594 100644 --- a/mod/case_bottom.scad +++ b/mod/case_bottom.scad @@ -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"]); } } } diff --git a/mod/case_top.scad b/mod/case_top.scad index 273e004..3d2034e 100644 --- a/mod/case_top.scad +++ b/mod/case_top.scad @@ -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"]); } } } diff --git a/sbc_case_builder.json b/sbc_case_builder.json index 7db6b35..c1cc042 100644 --- a/sbc_case_builder.json +++ b/sbc_case_builder.json @@ -65,6 +65,7 @@ "ext_bottom_standoff_insert_height": "5.1", "ext_bottom_standoff_pillar": "hex", "ext_bottom_standoff_reverse": "false", + "ext_bottom_standoff_size": "m3", "ext_bottom_standoff_support_height": "4", "ext_bottom_standoff_support_size": "10", "ext_bottom_standoff_type": "countersunk", @@ -89,6 +90,7 @@ "ext_top_standoff_insert_height": "5.1", "ext_top_standoff_pillar": "hex", "ext_top_standoff_reverse": "true", + "ext_top_standoff_size": "m3", "ext_top_standoff_support_height": "4", "ext_top_standoff_support_size": "10", "ext_top_standoff_type": "blind", @@ -215,6 +217,7 @@ "ext_bottom_standoff_insert_height": "5.1", "ext_bottom_standoff_pillar": "hex", "ext_bottom_standoff_reverse": "false", + "ext_bottom_standoff_size": "m3", "ext_bottom_standoff_support_height": "4", "ext_bottom_standoff_support_size": "10", "ext_bottom_standoff_type": "countersunk", @@ -239,6 +242,7 @@ "ext_top_standoff_insert_height": "5.1", "ext_top_standoff_pillar": "hex", "ext_top_standoff_reverse": "true", + "ext_top_standoff_size": "m3", "ext_top_standoff_support_height": "4", "ext_top_standoff_support_size": "10", "ext_top_standoff_type": "blind", @@ -365,6 +369,7 @@ "ext_bottom_standoff_insert_height": "5.1", "ext_bottom_standoff_pillar": "hex", "ext_bottom_standoff_reverse": "false", + "ext_bottom_standoff_size": "m3", "ext_bottom_standoff_support_height": "4", "ext_bottom_standoff_support_size": "10", "ext_bottom_standoff_type": "countersunk", @@ -389,6 +394,7 @@ "ext_top_standoff_insert_height": "5.1", "ext_top_standoff_pillar": "hex", "ext_top_standoff_reverse": "true", + "ext_top_standoff_size": "m3", "ext_top_standoff_support_height": "4", "ext_top_standoff_support_size": "10", "ext_top_standoff_type": "blind", @@ -515,6 +521,7 @@ "ext_bottom_standoff_insert_height": "5.1", "ext_bottom_standoff_pillar": "hex", "ext_bottom_standoff_reverse": "false", + "ext_bottom_standoff_size": "m3", "ext_bottom_standoff_support_height": "4", "ext_bottom_standoff_support_size": "10", "ext_bottom_standoff_type": "countersunk", @@ -539,6 +546,7 @@ "ext_top_standoff_insert_height": "5.1", "ext_top_standoff_pillar": "hex", "ext_top_standoff_reverse": "true", + "ext_top_standoff_size": "m3", "ext_top_standoff_support_height": "4", "ext_top_standoff_support_size": "10", "ext_top_standoff_type": "blind", @@ -666,6 +674,7 @@ "ext_bottom_standoff_insert_height": "5.1", "ext_bottom_standoff_pillar": "hex", "ext_bottom_standoff_reverse": "false", + "ext_bottom_standoff_size": "m3", "ext_bottom_standoff_support_height": "4", "ext_bottom_standoff_support_size": "10", "ext_bottom_standoff_type": "countersunk", @@ -690,6 +699,7 @@ "ext_top_standoff_insert_height": "5.1", "ext_top_standoff_pillar": "hex", "ext_top_standoff_reverse": "true", + "ext_top_standoff_size": "m3", "ext_top_standoff_support_height": "4", "ext_top_standoff_support_size": "10", "ext_top_standoff_type": "blind", @@ -816,6 +826,7 @@ "ext_bottom_standoff_insert_height": "5.1", "ext_bottom_standoff_pillar": "hex", "ext_bottom_standoff_reverse": "false", + "ext_bottom_standoff_size": "m3", "ext_bottom_standoff_support_height": "4", "ext_bottom_standoff_support_size": "10", "ext_bottom_standoff_type": "countersunk", @@ -840,6 +851,7 @@ "ext_top_standoff_insert_height": "5.1", "ext_top_standoff_pillar": "hex", "ext_top_standoff_reverse": "true", + "ext_top_standoff_size": "m3", "ext_top_standoff_support_height": "4", "ext_top_standoff_support_size": "10", "ext_top_standoff_type": "blind", @@ -966,6 +978,7 @@ "ext_bottom_standoff_insert_height": "5.1", "ext_bottom_standoff_pillar": "hex", "ext_bottom_standoff_reverse": "false", + "ext_bottom_standoff_size": "m3", "ext_bottom_standoff_support_height": "4", "ext_bottom_standoff_support_size": "10", "ext_bottom_standoff_type": "countersunk", @@ -990,6 +1003,7 @@ "ext_top_standoff_insert_height": "5.1", "ext_top_standoff_pillar": "hex", "ext_top_standoff_reverse": "true", + "ext_top_standoff_size": "m3", "ext_top_standoff_support_height": "4", "ext_top_standoff_support_size": "10", "ext_top_standoff_type": "blind", @@ -1116,6 +1130,7 @@ "ext_bottom_standoff_insert_height": "5.1", "ext_bottom_standoff_pillar": "hex", "ext_bottom_standoff_reverse": "false", + "ext_bottom_standoff_size": "m3", "ext_bottom_standoff_support_height": "4", "ext_bottom_standoff_support_size": "10", "ext_bottom_standoff_type": "countersunk", @@ -1140,6 +1155,7 @@ "ext_top_standoff_insert_height": "5.1", "ext_top_standoff_pillar": "hex", "ext_top_standoff_reverse": "true", + "ext_top_standoff_size": "m3", "ext_top_standoff_support_height": "4", "ext_top_standoff_support_size": "10", "ext_top_standoff_type": "blind", @@ -1324,6 +1340,7 @@ "ext_bottom_standoff_insert_height": "5.1", "ext_bottom_standoff_pillar": "hex", "ext_bottom_standoff_reverse": "false", + "ext_bottom_standoff_size": "m3", "ext_bottom_standoff_support_height": "4", "ext_bottom_standoff_support_size": "10", "ext_bottom_standoff_type": "countersunk", @@ -1348,6 +1365,7 @@ "ext_top_standoff_insert_height": "5.1", "ext_top_standoff_pillar": "hex", "ext_top_standoff_reverse": "true", + "ext_top_standoff_size": "m3", "ext_top_standoff_support_height": "4", "ext_top_standoff_support_size": "10", "ext_top_standoff_type": "blind", @@ -1474,6 +1492,7 @@ "ext_bottom_standoff_insert_height": "5.1", "ext_bottom_standoff_pillar": "hex", "ext_bottom_standoff_reverse": "false", + "ext_bottom_standoff_size": "m3", "ext_bottom_standoff_support_height": "4", "ext_bottom_standoff_support_size": "10", "ext_bottom_standoff_type": "blind", @@ -1498,6 +1517,7 @@ "ext_top_standoff_insert_height": "5.1", "ext_top_standoff_pillar": "hex", "ext_top_standoff_reverse": "true", + "ext_top_standoff_size": "m3", "ext_top_standoff_support_height": "17", "ext_top_standoff_support_size": "10", "ext_top_standoff_type": "recessed", @@ -1624,6 +1644,7 @@ "ext_bottom_standoff_insert_height": "5.1", "ext_bottom_standoff_pillar": "hex", "ext_bottom_standoff_reverse": "false", + "ext_bottom_standoff_size": "m3", "ext_bottom_standoff_support_height": "4", "ext_bottom_standoff_support_size": "10", "ext_bottom_standoff_type": "blind", @@ -1648,6 +1669,7 @@ "ext_top_standoff_insert_height": "5.1", "ext_top_standoff_pillar": "hex", "ext_top_standoff_reverse": "true", + "ext_top_standoff_size": "m3", "ext_top_standoff_support_height": "35", "ext_top_standoff_support_size": "10", "ext_top_standoff_type": "recessed", @@ -1774,6 +1796,7 @@ "ext_bottom_standoff_insert_height": "5.1", "ext_bottom_standoff_pillar": "hex", "ext_bottom_standoff_reverse": "false", + "ext_bottom_standoff_size": "m3", "ext_bottom_standoff_support_height": "4", "ext_bottom_standoff_support_size": "10", "ext_bottom_standoff_type": "blind", @@ -1798,6 +1821,7 @@ "ext_top_standoff_insert_height": "5.1", "ext_top_standoff_pillar": "hex", "ext_top_standoff_reverse": "true", + "ext_top_standoff_size": "m3", "ext_top_standoff_support_height": "25", "ext_top_standoff_support_size": "10", "ext_top_standoff_type": "recessed", @@ -1924,6 +1948,7 @@ "ext_bottom_standoff_insert_height": "5.1", "ext_bottom_standoff_pillar": "hex", "ext_bottom_standoff_reverse": "false", + "ext_bottom_standoff_size": "m3", "ext_bottom_standoff_support_height": "4", "ext_bottom_standoff_support_size": "10", "ext_bottom_standoff_type": "countersunk", @@ -1948,6 +1973,7 @@ "ext_top_standoff_insert_height": "5.1", "ext_top_standoff_pillar": "hex", "ext_top_standoff_reverse": "true", + "ext_top_standoff_size": "m3", "ext_top_standoff_support_height": "4", "ext_top_standoff_support_size": "10", "ext_top_standoff_type": "blind", @@ -2075,6 +2101,7 @@ "ext_bottom_standoff_insert_height": "5.1", "ext_bottom_standoff_pillar": "hex", "ext_bottom_standoff_reverse": "false", + "ext_bottom_standoff_size": "m3", "ext_bottom_standoff_support_height": "4", "ext_bottom_standoff_support_size": "10", "ext_bottom_standoff_type": "countersunk", @@ -2099,6 +2126,7 @@ "ext_top_standoff_insert_height": "5.1", "ext_top_standoff_pillar": "hex", "ext_top_standoff_reverse": "true", + "ext_top_standoff_size": "m3", "ext_top_standoff_support_height": "4", "ext_top_standoff_support_size": "10", "ext_top_standoff_type": "blind", @@ -2226,6 +2254,7 @@ "ext_bottom_standoff_insert_height": "5.1", "ext_bottom_standoff_pillar": "hex", "ext_bottom_standoff_reverse": "false", + "ext_bottom_standoff_size": "m3", "ext_bottom_standoff_support_height": "4", "ext_bottom_standoff_support_size": "10", "ext_bottom_standoff_type": "countersunk", @@ -2250,6 +2279,7 @@ "ext_top_standoff_insert_height": "5.1", "ext_top_standoff_pillar": "hex", "ext_top_standoff_reverse": "true", + "ext_top_standoff_size": "m3", "ext_top_standoff_support_height": "4", "ext_top_standoff_support_size": "10", "ext_top_standoff_type": "blind", @@ -2376,6 +2406,7 @@ "ext_bottom_standoff_insert_height": "5.1", "ext_bottom_standoff_pillar": "hex", "ext_bottom_standoff_reverse": "false", + "ext_bottom_standoff_size": "m3", "ext_bottom_standoff_support_height": "4", "ext_bottom_standoff_support_size": "10", "ext_bottom_standoff_type": "countersunk", @@ -2400,6 +2431,7 @@ "ext_top_standoff_insert_height": "5.1", "ext_top_standoff_pillar": "hex", "ext_top_standoff_reverse": "true", + "ext_top_standoff_size": "m3", "ext_top_standoff_support_height": "4", "ext_top_standoff_support_size": "10", "ext_top_standoff_type": "blind", @@ -2527,6 +2559,7 @@ "ext_bottom_standoff_insert_height": "5.1", "ext_bottom_standoff_pillar": "hex", "ext_bottom_standoff_reverse": "false", + "ext_bottom_standoff_size": "m3", "ext_bottom_standoff_support_height": "4", "ext_bottom_standoff_support_size": "10", "ext_bottom_standoff_type": "countersunk", @@ -2551,6 +2584,7 @@ "ext_top_standoff_insert_height": "5.1", "ext_top_standoff_pillar": "hex", "ext_top_standoff_reverse": "true", + "ext_top_standoff_size": "m3", "ext_top_standoff_support_height": "4", "ext_top_standoff_support_size": "10", "ext_top_standoff_type": "blind", @@ -2678,6 +2712,7 @@ "ext_bottom_standoff_insert_height": "5.1", "ext_bottom_standoff_pillar": "hex", "ext_bottom_standoff_reverse": "false", + "ext_bottom_standoff_size": "m3", "ext_bottom_standoff_support_height": "4", "ext_bottom_standoff_support_size": "10", "ext_bottom_standoff_type": "countersunk", @@ -2702,6 +2737,7 @@ "ext_top_standoff_insert_height": "5.1", "ext_top_standoff_pillar": "hex", "ext_top_standoff_reverse": "true", + "ext_top_standoff_size": "m3", "ext_top_standoff_support_height": "4", "ext_top_standoff_support_size": "10", "ext_top_standoff_type": "blind", @@ -2828,6 +2864,7 @@ "ext_bottom_standoff_insert_height": "5.1", "ext_bottom_standoff_pillar": "hex", "ext_bottom_standoff_reverse": "false", + "ext_bottom_standoff_size": "m3", "ext_bottom_standoff_support_height": "4", "ext_bottom_standoff_support_size": "10", "ext_bottom_standoff_type": "countersunk", @@ -2852,6 +2889,7 @@ "ext_top_standoff_insert_height": "5.1", "ext_top_standoff_pillar": "hex", "ext_top_standoff_reverse": "true", + "ext_top_standoff_size": "m3", "ext_top_standoff_support_height": "4", "ext_top_standoff_support_size": "10", "ext_top_standoff_type": "blind", @@ -2914,156 +2952,6 @@ "view": "model", "wallthick": "2" }, - "m1_fitted_pizzabox3.5": { - "$fn": "90", - "access_panel_location": "[10, 15]", - "access_panel_orientation": "landscape", - "access_panel_rotation": "0", - "access_panel_size": "[70, 30]", - "accessory_highlight": "false", - "accessory_name": "m1_fitted_pizzabox3.5", - "adj": "0.01", - "bend_allowance": "1", - "bottom_access_panel_enable": "false", - "bottom_clearence": "3.5", - "bottom_cover_pattern": "solid", - "bottom_front_left_adjust": "-6", - "bottom_front_left_enable": "true", - "bottom_front_left_support": "front", - "bottom_front_right_adjust": "-6", - "bottom_front_right_enable": "true", - "bottom_front_right_support": "front", - "bottom_rear_left_adjust": "-6", - "bottom_rear_left_enable": "true", - "bottom_rear_left_support": "rear", - "bottom_rear_right_adjust": "-6", - "bottom_rear_right_enable": "true", - "bottom_rear_right_support": "rear", - "bottom_sidewall_support": "true", - "bottom_standoff_diameter": "5.75", - "bottom_standoff_hole_size": "3.4", - "bottom_standoff_insert": "false", - "bottom_standoff_insert_dia": "4.2", - "bottom_standoff_insert_height": "5.1", - "bottom_standoff_pillar": "hex", - "bottom_standoff_reverse": "false", - "bottom_standoff_support_height": "4", - "bottom_standoff_support_size": "10", - "bottom_standoff_type": "countersunk", - "case_design": "fitted", - "case_offset_bz": "0", - "case_offset_tz": "0", - "case_offset_x": "114", - "case_offset_y": "65", - "cooling": "default", - "corner_fillet": "3", - "edge_fillet": "0", - "ext_bottom_front_left_adjust": "0", - "ext_bottom_front_left_enable": "true", - "ext_bottom_front_left_support": "front", - "ext_bottom_front_right_adjust": "0", - "ext_bottom_front_right_enable": "true", - "ext_bottom_front_right_support": "front", - "ext_bottom_rear_left_adjust": "0", - "ext_bottom_rear_left_enable": "true", - "ext_bottom_rear_left_support": "rear", - "ext_bottom_rear_right_adjust": "0", - "ext_bottom_rear_right_enable": "true", - "ext_bottom_rear_right_support": "rear", - "ext_bottom_sidewall_support": "true", - "ext_bottom_standoff_diameter": "5.75", - "ext_bottom_standoff_hole_size": "3.4", - "ext_bottom_standoff_insert": "false", - "ext_bottom_standoff_insert_dia": "4.2", - "ext_bottom_standoff_insert_height": "5.1", - "ext_bottom_standoff_pillar": "hex", - "ext_bottom_standoff_reverse": "false", - "ext_bottom_standoff_support_height": "4", - "ext_bottom_standoff_support_size": "10", - "ext_bottom_standoff_type": "countersunk", - "ext_bottom_standoffs": "false", - "ext_top_front_left_adjust": "0", - "ext_top_front_left_enable": "true", - "ext_top_front_left_support": "front", - "ext_top_front_right_adjust": "0", - "ext_top_front_right_enable": "true", - "ext_top_front_right_support": "front", - "ext_top_rear_left_adjust": "0", - "ext_top_rear_left_enable": "true", - "ext_top_rear_left_support": "rear", - "ext_top_rear_right_adjust": "0", - "ext_top_rear_right_enable": "true", - "ext_top_rear_right_support": "rear", - "ext_top_sidewall_support": "true", - "ext_top_standoff_diameter": "5.75", - "ext_top_standoff_hole_size": "2.75", - "ext_top_standoff_insert": "false", - "ext_top_standoff_insert_dia": "4.2", - "ext_top_standoff_insert_height": "5.1", - "ext_top_standoff_pillar": "hex", - "ext_top_standoff_reverse": "true", - "ext_top_standoff_support_height": "4", - "ext_top_standoff_support_size": "10", - "ext_top_standoff_type": "blind", - "ext_top_standoffs": "false", - "fan_size": "0", - "flat_blank_section": "false", - "floorthick": "2.5", - "gap": "2", - "gpio_opening": "default", - "indents": "false", - "individual_part": "bottom", - "lower_bottom": "0", - "material_thickness": "0.5", - "move_front": "0", - "move_leftside": "0", - "move_rear": "0", - "move_rightside": "0", - "pcb_loc_x": "5", - "pcb_loc_y": "0", - "pcb_loc_z": "2", - "raise_top": "0", - "rear_io_shield": "false", - "sbc_bottom_standoffs": "true", - "sbc_highlight": "false", - "sbc_information": "false", - "sbc_model": "m1", - "sbc_off": "false", - "sbc_top_standoffs": "false", - "sidethick": "2", - "standard_motherboard_thickness": "0", - "text_color": "Green", - "text_font": "Nimbus Mono PS", - "tol": "0.25", - "top_cover_pattern": "solid", - "top_front_left_adjust": "0", - "top_front_left_enable": "true", - "top_front_left_support": "front", - "top_front_right_adjust": "0", - "top_front_right_enable": "true", - "top_front_right_support": "front", - "top_rear_left_adjust": "0", - "top_rear_left_enable": "true", - "top_rear_left_support": "rear", - "top_rear_right_adjust": "0", - "top_rear_right_enable": "true", - "top_rear_right_support": "rear", - "top_sidewall_support": "true", - "top_standoff_diameter": "5.75", - "top_standoff_hole_size": "2.75", - "top_standoff_insert": "false", - "top_standoff_insert_dia": "4.2", - "top_standoff_insert_height": "5.1", - "top_standoff_pillar": "hex", - "top_standoff_reverse": "true", - "top_standoff_size": "m3", - "top_standoff_support_height": "4", - "top_standoff_support_size": "10", - "top_standoff_type": "blind", - "uart_opening": "default", - "view": "model", - "wallthick": "2.5" - }, "m1_fitted_pizzabox2.5": { "$fn": "90", "access_panel_location": "[10, 15]", @@ -3128,6 +3016,7 @@ "ext_bottom_standoff_insert_height": "5.1", "ext_bottom_standoff_pillar": "hex", "ext_bottom_standoff_reverse": "false", + "ext_bottom_standoff_size": "m3", "ext_bottom_standoff_support_height": "4", "ext_bottom_standoff_support_size": "10", "ext_bottom_standoff_type": "countersunk", @@ -3152,6 +3041,159 @@ "ext_top_standoff_insert_height": "5.1", "ext_top_standoff_pillar": "hex", "ext_top_standoff_reverse": "true", + "ext_top_standoff_size": "m3", + "ext_top_standoff_support_height": "4", + "ext_top_standoff_support_size": "10", + "ext_top_standoff_type": "blind", + "ext_top_standoffs": "false", + "fan_size": "0", + "flat_blank_section": "false", + "floorthick": "2.5", + "gap": "2", + "gpio_opening": "default", + "indents": "false", + "individual_part": "bottom", + "lower_bottom": "0", + "material_thickness": "0.5", + "move_front": "0", + "move_leftside": "0", + "move_rear": "0", + "move_rightside": "0", + "pcb_loc_x": "5", + "pcb_loc_y": "0", + "pcb_loc_z": "2", + "raise_top": "0", + "rear_io_shield": "false", + "sbc_bottom_standoffs": "true", + "sbc_highlight": "false", + "sbc_information": "false", + "sbc_model": "m1", + "sbc_off": "false", + "sbc_top_standoffs": "false", + "sidethick": "2", + "standard_motherboard_thickness": "0", + "text_color": "Green", + "text_font": "Nimbus Mono PS", + "tol": "0.25", + "top_cover_pattern": "solid", + "top_front_left_adjust": "0", + "top_front_left_enable": "true", + "top_front_left_support": "front", + "top_front_right_adjust": "0", + "top_front_right_enable": "true", + "top_front_right_support": "front", + "top_rear_left_adjust": "0", + "top_rear_left_enable": "true", + "top_rear_left_support": "rear", + "top_rear_right_adjust": "0", + "top_rear_right_enable": "true", + "top_rear_right_support": "rear", + "top_sidewall_support": "true", + "top_standoff_diameter": "5.75", + "top_standoff_hole_size": "2.75", + "top_standoff_insert": "false", + "top_standoff_insert_dia": "4.2", + "top_standoff_insert_height": "5.1", + "top_standoff_pillar": "hex", + "top_standoff_reverse": "true", + "top_standoff_size": "m3", + "top_standoff_support_height": "4", + "top_standoff_support_size": "10", + "top_standoff_type": "blind", + "uart_opening": "default", + "view": "model", + "wallthick": "2.5" + }, + "m1_fitted_pizzabox3.5": { + "$fn": "90", + "access_panel_location": "[10, 15]", + "access_panel_orientation": "landscape", + "access_panel_rotation": "0", + "access_panel_size": "[70, 30]", + "accessory_highlight": "false", + "accessory_name": "m1_fitted_pizzabox3.5", + "adj": "0.01", + "bend_allowance": "1", + "bottom_access_panel_enable": "false", + "bottom_clearence": "3.5", + "bottom_cover_pattern": "solid", + "bottom_front_left_adjust": "-6", + "bottom_front_left_enable": "true", + "bottom_front_left_support": "front", + "bottom_front_right_adjust": "-6", + "bottom_front_right_enable": "true", + "bottom_front_right_support": "front", + "bottom_rear_left_adjust": "-6", + "bottom_rear_left_enable": "true", + "bottom_rear_left_support": "rear", + "bottom_rear_right_adjust": "-6", + "bottom_rear_right_enable": "true", + "bottom_rear_right_support": "rear", + "bottom_sidewall_support": "true", + "bottom_standoff_diameter": "5.75", + "bottom_standoff_hole_size": "3.4", + "bottom_standoff_insert": "false", + "bottom_standoff_insert_dia": "4.2", + "bottom_standoff_insert_height": "5.1", + "bottom_standoff_pillar": "hex", + "bottom_standoff_reverse": "false", + "bottom_standoff_support_height": "4", + "bottom_standoff_support_size": "10", + "bottom_standoff_type": "countersunk", + "case_design": "fitted", + "case_offset_bz": "0", + "case_offset_tz": "0", + "case_offset_x": "114", + "case_offset_y": "65", + "cooling": "default", + "corner_fillet": "3", + "edge_fillet": "0", + "ext_bottom_front_left_adjust": "0", + "ext_bottom_front_left_enable": "true", + "ext_bottom_front_left_support": "front", + "ext_bottom_front_right_adjust": "0", + "ext_bottom_front_right_enable": "true", + "ext_bottom_front_right_support": "front", + "ext_bottom_rear_left_adjust": "0", + "ext_bottom_rear_left_enable": "true", + "ext_bottom_rear_left_support": "rear", + "ext_bottom_rear_right_adjust": "0", + "ext_bottom_rear_right_enable": "true", + "ext_bottom_rear_right_support": "rear", + "ext_bottom_sidewall_support": "true", + "ext_bottom_standoff_diameter": "5.75", + "ext_bottom_standoff_hole_size": "3.4", + "ext_bottom_standoff_insert": "false", + "ext_bottom_standoff_insert_dia": "4.2", + "ext_bottom_standoff_insert_height": "5.1", + "ext_bottom_standoff_pillar": "hex", + "ext_bottom_standoff_reverse": "false", + "ext_bottom_standoff_size": "m3", + "ext_bottom_standoff_support_height": "4", + "ext_bottom_standoff_support_size": "10", + "ext_bottom_standoff_type": "countersunk", + "ext_bottom_standoffs": "false", + "ext_top_front_left_adjust": "0", + "ext_top_front_left_enable": "true", + "ext_top_front_left_support": "front", + "ext_top_front_right_adjust": "0", + "ext_top_front_right_enable": "true", + "ext_top_front_right_support": "front", + "ext_top_rear_left_adjust": "0", + "ext_top_rear_left_enable": "true", + "ext_top_rear_left_support": "rear", + "ext_top_rear_right_adjust": "0", + "ext_top_rear_right_enable": "true", + "ext_top_rear_right_support": "rear", + "ext_top_sidewall_support": "true", + "ext_top_standoff_diameter": "5.75", + "ext_top_standoff_hole_size": "2.75", + "ext_top_standoff_insert": "false", + "ext_top_standoff_insert_dia": "4.2", + "ext_top_standoff_insert_height": "5.1", + "ext_top_standoff_pillar": "hex", + "ext_top_standoff_reverse": "true", + "ext_top_standoff_size": "m3", "ext_top_standoff_support_height": "4", "ext_top_standoff_support_size": "10", "ext_top_standoff_type": "blind", @@ -3278,6 +3320,7 @@ "ext_bottom_standoff_insert_height": "5.1", "ext_bottom_standoff_pillar": "hex", "ext_bottom_standoff_reverse": "false", + "ext_bottom_standoff_size": "m3", "ext_bottom_standoff_support_height": "4", "ext_bottom_standoff_support_size": "10", "ext_bottom_standoff_type": "countersunk", @@ -3302,6 +3345,7 @@ "ext_top_standoff_insert_height": "5.1", "ext_top_standoff_pillar": "hex", "ext_top_standoff_reverse": "true", + "ext_top_standoff_size": "m3", "ext_top_standoff_support_height": "4", "ext_top_standoff_support_size": "10", "ext_top_standoff_type": "blind", @@ -3428,6 +3472,7 @@ "ext_bottom_standoff_insert_height": "5.1", "ext_bottom_standoff_pillar": "hex", "ext_bottom_standoff_reverse": "false", + "ext_bottom_standoff_size": "m3", "ext_bottom_standoff_support_height": "4", "ext_bottom_standoff_support_size": "10", "ext_bottom_standoff_type": "countersunk", @@ -3452,6 +3497,7 @@ "ext_top_standoff_insert_height": "5.1", "ext_top_standoff_pillar": "hex", "ext_top_standoff_reverse": "true", + "ext_top_standoff_size": "m3", "ext_top_standoff_support_height": "4", "ext_top_standoff_support_size": "10", "ext_top_standoff_type": "blind", @@ -3578,6 +3624,7 @@ "ext_bottom_standoff_insert_height": "5.1", "ext_bottom_standoff_pillar": "hex", "ext_bottom_standoff_reverse": "false", + "ext_bottom_standoff_size": "m3", "ext_bottom_standoff_support_height": "4", "ext_bottom_standoff_support_size": "10", "ext_bottom_standoff_type": "countersunk", @@ -3602,6 +3649,7 @@ "ext_top_standoff_insert_height": "5.1", "ext_top_standoff_pillar": "hex", "ext_top_standoff_reverse": "true", + "ext_top_standoff_size": "m3", "ext_top_standoff_support_height": "4", "ext_top_standoff_support_size": "10", "ext_top_standoff_type": "blind", @@ -3728,6 +3776,7 @@ "ext_bottom_standoff_insert_height": "5.1", "ext_bottom_standoff_pillar": "hex", "ext_bottom_standoff_reverse": "false", + "ext_bottom_standoff_size": "m3", "ext_bottom_standoff_support_height": "4", "ext_bottom_standoff_support_size": "10", "ext_bottom_standoff_type": "countersunk", @@ -3752,6 +3801,7 @@ "ext_top_standoff_insert_height": "5.1", "ext_top_standoff_pillar": "hex", "ext_top_standoff_reverse": "true", + "ext_top_standoff_size": "m3", "ext_top_standoff_support_height": "4", "ext_top_standoff_support_size": "10", "ext_top_standoff_type": "blind", @@ -3878,6 +3928,7 @@ "ext_bottom_standoff_insert_height": "5.1", "ext_bottom_standoff_pillar": "hex", "ext_bottom_standoff_reverse": "false", + "ext_bottom_standoff_size": "m3", "ext_bottom_standoff_support_height": "4", "ext_bottom_standoff_support_size": "10", "ext_bottom_standoff_type": "countersunk", @@ -3902,6 +3953,7 @@ "ext_top_standoff_insert_height": "5.1", "ext_top_standoff_pillar": "hex", "ext_top_standoff_reverse": "true", + "ext_top_standoff_size": "m3", "ext_top_standoff_support_height": "48.51", "ext_top_standoff_support_size": "10", "ext_top_standoff_type": "recessed", @@ -4028,6 +4080,7 @@ "ext_bottom_standoff_insert_height": "5.1", "ext_bottom_standoff_pillar": "hex", "ext_bottom_standoff_reverse": "false", + "ext_bottom_standoff_size": "m3", "ext_bottom_standoff_support_height": "4", "ext_bottom_standoff_support_size": "10", "ext_bottom_standoff_type": "blind", @@ -4052,6 +4105,7 @@ "ext_top_standoff_insert_height": "5.1", "ext_top_standoff_pillar": "hex", "ext_top_standoff_reverse": "true", + "ext_top_standoff_size": "m3", "ext_top_standoff_support_height": "30", "ext_top_standoff_support_size": "10", "ext_top_standoff_type": "recessed", @@ -4179,6 +4233,7 @@ "ext_bottom_standoff_insert_height": "5.1", "ext_bottom_standoff_pillar": "hex", "ext_bottom_standoff_reverse": "false", + "ext_bottom_standoff_size": "m3", "ext_bottom_standoff_support_height": "4", "ext_bottom_standoff_support_size": "10", "ext_bottom_standoff_type": "countersunk", @@ -4203,6 +4258,7 @@ "ext_top_standoff_insert_height": "5.1", "ext_top_standoff_pillar": "hex", "ext_top_standoff_reverse": "true", + "ext_top_standoff_size": "m3", "ext_top_standoff_support_height": "4", "ext_top_standoff_support_size": "10", "ext_top_standoff_type": "blind", @@ -4330,6 +4386,7 @@ "ext_bottom_standoff_insert_height": "5.1", "ext_bottom_standoff_pillar": "hex", "ext_bottom_standoff_reverse": "false", + "ext_bottom_standoff_size": "m3", "ext_bottom_standoff_support_height": "4", "ext_bottom_standoff_support_size": "10", "ext_bottom_standoff_type": "countersunk", @@ -4354,6 +4411,7 @@ "ext_top_standoff_insert_height": "5.1", "ext_top_standoff_pillar": "hex", "ext_top_standoff_reverse": "true", + "ext_top_standoff_size": "m3", "ext_top_standoff_support_height": "4", "ext_top_standoff_support_size": "10", "ext_top_standoff_type": "blind", @@ -4481,6 +4539,7 @@ "ext_bottom_standoff_insert_height": "5.1", "ext_bottom_standoff_pillar": "hex", "ext_bottom_standoff_reverse": "false", + "ext_bottom_standoff_size": "m3", "ext_bottom_standoff_support_height": "4", "ext_bottom_standoff_support_size": "10", "ext_bottom_standoff_type": "countersunk", @@ -4505,6 +4564,7 @@ "ext_top_standoff_insert_height": "5.1", "ext_top_standoff_pillar": "hex", "ext_top_standoff_reverse": "true", + "ext_top_standoff_size": "m3", "ext_top_standoff_support_height": "4", "ext_top_standoff_support_size": "10", "ext_top_standoff_type": "blind", @@ -4632,6 +4692,7 @@ "ext_bottom_standoff_insert_height": "5.1", "ext_bottom_standoff_pillar": "hex", "ext_bottom_standoff_reverse": "false", + "ext_bottom_standoff_size": "m3", "ext_bottom_standoff_support_height": "4", "ext_bottom_standoff_support_size": "10", "ext_bottom_standoff_type": "countersunk", @@ -4656,6 +4717,7 @@ "ext_top_standoff_insert_height": "5.1", "ext_top_standoff_pillar": "hex", "ext_top_standoff_reverse": "true", + "ext_top_standoff_size": "m3", "ext_top_standoff_support_height": "4", "ext_top_standoff_support_size": "10", "ext_top_standoff_type": "blind", @@ -4783,6 +4845,7 @@ "ext_bottom_standoff_insert_height": "5.1", "ext_bottom_standoff_pillar": "hex", "ext_bottom_standoff_reverse": "false", + "ext_bottom_standoff_size": "m3", "ext_bottom_standoff_support_height": "4", "ext_bottom_standoff_support_size": "10", "ext_bottom_standoff_type": "countersunk", @@ -4807,6 +4870,7 @@ "ext_top_standoff_insert_height": "5.1", "ext_top_standoff_pillar": "hex", "ext_top_standoff_reverse": "true", + "ext_top_standoff_size": "m3", "ext_top_standoff_support_height": "4", "ext_top_standoff_support_size": "10", "ext_top_standoff_type": "blind", @@ -4934,6 +4998,7 @@ "ext_bottom_standoff_insert_height": "5.1", "ext_bottom_standoff_pillar": "hex", "ext_bottom_standoff_reverse": "false", + "ext_bottom_standoff_size": "m3", "ext_bottom_standoff_support_height": "4", "ext_bottom_standoff_support_size": "10", "ext_bottom_standoff_type": "countersunk", @@ -4958,6 +5023,7 @@ "ext_top_standoff_insert_height": "5.1", "ext_top_standoff_pillar": "hex", "ext_top_standoff_reverse": "true", + "ext_top_standoff_size": "m3", "ext_top_standoff_support_height": "4", "ext_top_standoff_support_size": "10", "ext_top_standoff_type": "blind", @@ -5085,6 +5151,7 @@ "ext_bottom_standoff_insert_height": "5.1", "ext_bottom_standoff_pillar": "hex", "ext_bottom_standoff_reverse": "false", + "ext_bottom_standoff_size": "m3", "ext_bottom_standoff_support_height": "4", "ext_bottom_standoff_support_size": "10", "ext_bottom_standoff_type": "countersunk", @@ -5109,6 +5176,7 @@ "ext_top_standoff_insert_height": "5.1", "ext_top_standoff_pillar": "hex", "ext_top_standoff_reverse": "true", + "ext_top_standoff_size": "m3", "ext_top_standoff_support_height": "4", "ext_top_standoff_support_size": "10", "ext_top_standoff_type": "blind", @@ -5236,6 +5304,7 @@ "ext_bottom_standoff_insert_height": "5.1", "ext_bottom_standoff_pillar": "hex", "ext_bottom_standoff_reverse": "false", + "ext_bottom_standoff_size": "m3", "ext_bottom_standoff_support_height": "4", "ext_bottom_standoff_support_size": "10", "ext_bottom_standoff_type": "countersunk", @@ -5260,6 +5329,7 @@ "ext_top_standoff_insert_height": "5.1", "ext_top_standoff_pillar": "hex", "ext_top_standoff_reverse": "true", + "ext_top_standoff_size": "m3", "ext_top_standoff_support_height": "4", "ext_top_standoff_support_size": "10", "ext_top_standoff_type": "blind", @@ -5387,6 +5457,7 @@ "ext_bottom_standoff_insert_height": "5.1", "ext_bottom_standoff_pillar": "hex", "ext_bottom_standoff_reverse": "false", + "ext_bottom_standoff_size": "m3", "ext_bottom_standoff_support_height": "4", "ext_bottom_standoff_support_size": "10", "ext_bottom_standoff_type": "countersunk", @@ -5411,6 +5482,7 @@ "ext_top_standoff_insert_height": "5.1", "ext_top_standoff_pillar": "hex", "ext_top_standoff_reverse": "true", + "ext_top_standoff_size": "m3", "ext_top_standoff_support_height": "4", "ext_top_standoff_support_size": "10", "ext_top_standoff_type": "blind", @@ -5538,6 +5610,7 @@ "ext_bottom_standoff_insert_height": "5.1", "ext_bottom_standoff_pillar": "hex", "ext_bottom_standoff_reverse": "false", + "ext_bottom_standoff_size": "m3", "ext_bottom_standoff_support_height": "4", "ext_bottom_standoff_support_size": "10", "ext_bottom_standoff_type": "countersunk", @@ -5562,6 +5635,7 @@ "ext_top_standoff_insert_height": "5.1", "ext_top_standoff_pillar": "hex", "ext_top_standoff_reverse": "true", + "ext_top_standoff_size": "m3", "ext_top_standoff_support_height": "4", "ext_top_standoff_support_size": "10", "ext_top_standoff_type": "blind", @@ -5689,6 +5763,7 @@ "ext_bottom_standoff_insert_height": "5.1", "ext_bottom_standoff_pillar": "hex", "ext_bottom_standoff_reverse": "false", + "ext_bottom_standoff_size": "m3", "ext_bottom_standoff_support_height": "4", "ext_bottom_standoff_support_size": "10", "ext_bottom_standoff_type": "countersunk", @@ -5713,6 +5788,7 @@ "ext_top_standoff_insert_height": "5.1", "ext_top_standoff_pillar": "hex", "ext_top_standoff_reverse": "true", + "ext_top_standoff_size": "m3", "ext_top_standoff_support_height": "4", "ext_top_standoff_support_size": "10", "ext_top_standoff_type": "blind", @@ -5840,6 +5916,7 @@ "ext_bottom_standoff_insert_height": "5.1", "ext_bottom_standoff_pillar": "hex", "ext_bottom_standoff_reverse": "false", + "ext_bottom_standoff_size": "m3", "ext_bottom_standoff_support_height": "4", "ext_bottom_standoff_support_size": "10", "ext_bottom_standoff_type": "countersunk", @@ -5864,6 +5941,7 @@ "ext_top_standoff_insert_height": "5.1", "ext_top_standoff_pillar": "hex", "ext_top_standoff_reverse": "true", + "ext_top_standoff_size": "m3", "ext_top_standoff_support_height": "4", "ext_top_standoff_support_size": "10", "ext_top_standoff_type": "blind", @@ -5991,6 +6069,7 @@ "ext_bottom_standoff_insert_height": "5.1", "ext_bottom_standoff_pillar": "hex", "ext_bottom_standoff_reverse": "false", + "ext_bottom_standoff_size": "m3", "ext_bottom_standoff_support_height": "4", "ext_bottom_standoff_support_size": "10", "ext_bottom_standoff_type": "countersunk", @@ -6015,6 +6094,7 @@ "ext_top_standoff_insert_height": "5.1", "ext_top_standoff_pillar": "hex", "ext_top_standoff_reverse": "true", + "ext_top_standoff_size": "m3", "ext_top_standoff_support_height": "4", "ext_top_standoff_support_size": "10", "ext_top_standoff_type": "blind", @@ -6142,6 +6222,7 @@ "ext_bottom_standoff_insert_height": "5.1", "ext_bottom_standoff_pillar": "hex", "ext_bottom_standoff_reverse": "false", + "ext_bottom_standoff_size": "m3", "ext_bottom_standoff_support_height": "4", "ext_bottom_standoff_support_size": "10", "ext_bottom_standoff_type": "countersunk", @@ -6166,6 +6247,7 @@ "ext_top_standoff_insert_height": "5.1", "ext_top_standoff_pillar": "hex", "ext_top_standoff_reverse": "true", + "ext_top_standoff_size": "m3", "ext_top_standoff_support_height": "4", "ext_top_standoff_support_size": "10", "ext_top_standoff_type": "blind", @@ -6293,6 +6375,7 @@ "ext_bottom_standoff_insert_height": "5.1", "ext_bottom_standoff_pillar": "hex", "ext_bottom_standoff_reverse": "false", + "ext_bottom_standoff_size": "m3", "ext_bottom_standoff_support_height": "4", "ext_bottom_standoff_support_size": "10", "ext_bottom_standoff_type": "countersunk", @@ -6317,6 +6400,7 @@ "ext_top_standoff_insert_height": "5.1", "ext_top_standoff_pillar": "hex", "ext_top_standoff_reverse": "true", + "ext_top_standoff_size": "m3", "ext_top_standoff_support_height": "4", "ext_top_standoff_support_size": "10", "ext_top_standoff_type": "blind", @@ -6444,6 +6528,7 @@ "ext_bottom_standoff_insert_height": "5.1", "ext_bottom_standoff_pillar": "hex", "ext_bottom_standoff_reverse": "false", + "ext_bottom_standoff_size": "m3", "ext_bottom_standoff_support_height": "4", "ext_bottom_standoff_support_size": "10", "ext_bottom_standoff_type": "countersunk", @@ -6468,6 +6553,7 @@ "ext_top_standoff_insert_height": "5.1", "ext_top_standoff_pillar": "hex", "ext_top_standoff_reverse": "true", + "ext_top_standoff_size": "m3", "ext_top_standoff_support_height": "4", "ext_top_standoff_support_size": "10", "ext_top_standoff_type": "blind", @@ -6595,6 +6681,7 @@ "ext_bottom_standoff_insert_height": "5.1", "ext_bottom_standoff_pillar": "hex", "ext_bottom_standoff_reverse": "false", + "ext_bottom_standoff_size": "m3", "ext_bottom_standoff_support_height": "4", "ext_bottom_standoff_support_size": "10", "ext_bottom_standoff_type": "countersunk", @@ -6619,6 +6706,7 @@ "ext_top_standoff_insert_height": "5.1", "ext_top_standoff_pillar": "hex", "ext_top_standoff_reverse": "true", + "ext_top_standoff_size": "m3", "ext_top_standoff_support_height": "4", "ext_top_standoff_support_size": "10", "ext_top_standoff_type": "blind", @@ -6746,6 +6834,7 @@ "ext_bottom_standoff_insert_height": "5.1", "ext_bottom_standoff_pillar": "hex", "ext_bottom_standoff_reverse": "false", + "ext_bottom_standoff_size": "m3", "ext_bottom_standoff_support_height": "4", "ext_bottom_standoff_support_size": "10", "ext_bottom_standoff_type": "countersunk", @@ -6770,6 +6859,7 @@ "ext_top_standoff_insert_height": "5.1", "ext_top_standoff_pillar": "hex", "ext_top_standoff_reverse": "true", + "ext_top_standoff_size": "m3", "ext_top_standoff_support_height": "4", "ext_top_standoff_support_size": "10", "ext_top_standoff_type": "blind", @@ -6897,6 +6987,7 @@ "ext_bottom_standoff_insert_height": "5.1", "ext_bottom_standoff_pillar": "hex", "ext_bottom_standoff_reverse": "false", + "ext_bottom_standoff_size": "m3", "ext_bottom_standoff_support_height": "4", "ext_bottom_standoff_support_size": "10", "ext_bottom_standoff_type": "countersunk", @@ -6921,6 +7012,7 @@ "ext_top_standoff_insert_height": "5.1", "ext_top_standoff_pillar": "hex", "ext_top_standoff_reverse": "true", + "ext_top_standoff_size": "m3", "ext_top_standoff_support_height": "4", "ext_top_standoff_support_size": "10", "ext_top_standoff_type": "blind", @@ -7048,6 +7140,7 @@ "ext_bottom_standoff_insert_height": "5.1", "ext_bottom_standoff_pillar": "hex", "ext_bottom_standoff_reverse": "false", + "ext_bottom_standoff_size": "m3", "ext_bottom_standoff_support_height": "4", "ext_bottom_standoff_support_size": "10", "ext_bottom_standoff_type": "countersunk", @@ -7072,6 +7165,7 @@ "ext_top_standoff_insert_height": "5.1", "ext_top_standoff_pillar": "hex", "ext_top_standoff_reverse": "true", + "ext_top_standoff_size": "m3", "ext_top_standoff_support_height": "4", "ext_top_standoff_support_size": "10", "ext_top_standoff_type": "blind", @@ -7199,6 +7293,7 @@ "ext_bottom_standoff_insert_height": "5.1", "ext_bottom_standoff_pillar": "hex", "ext_bottom_standoff_reverse": "false", + "ext_bottom_standoff_size": "m3", "ext_bottom_standoff_support_height": "4", "ext_bottom_standoff_support_size": "10", "ext_bottom_standoff_type": "countersunk", @@ -7223,6 +7318,7 @@ "ext_top_standoff_insert_height": "5.1", "ext_top_standoff_pillar": "hex", "ext_top_standoff_reverse": "true", + "ext_top_standoff_size": "m3", "ext_top_standoff_support_height": "4", "ext_top_standoff_support_size": "10", "ext_top_standoff_type": "blind", @@ -7350,6 +7446,7 @@ "ext_bottom_standoff_insert_height": "5.1", "ext_bottom_standoff_pillar": "hex", "ext_bottom_standoff_reverse": "false", + "ext_bottom_standoff_size": "m3", "ext_bottom_standoff_support_height": "4", "ext_bottom_standoff_support_size": "10", "ext_bottom_standoff_type": "countersunk", @@ -7374,6 +7471,7 @@ "ext_top_standoff_insert_height": "5.1", "ext_top_standoff_pillar": "hex", "ext_top_standoff_reverse": "true", + "ext_top_standoff_size": "m3", "ext_top_standoff_support_height": "4", "ext_top_standoff_support_size": "10", "ext_top_standoff_type": "blind", @@ -7500,6 +7598,7 @@ "ext_bottom_standoff_insert_height": "5.1", "ext_bottom_standoff_pillar": "hex", "ext_bottom_standoff_reverse": "false", + "ext_bottom_standoff_size": "m3", "ext_bottom_standoff_support_height": "4", "ext_bottom_standoff_support_size": "10", "ext_bottom_standoff_type": "countersunk", @@ -7524,6 +7623,7 @@ "ext_top_standoff_insert_height": "5.1", "ext_top_standoff_pillar": "hex", "ext_top_standoff_reverse": "true", + "ext_top_standoff_size": "m3", "ext_top_standoff_support_height": "4", "ext_top_standoff_support_size": "10", "ext_top_standoff_type": "blind", @@ -7571,7 +7671,7 @@ "top_rear_right_enable": "true", "top_rear_right_support": "right", "top_sidewall_support": "true", - "top_standoff_diameter": "6.75", + "top_standoff_diameter": "5.75", "top_standoff_hole_size": "3.4", "top_standoff_insert": "true", "top_standoff_insert_dia": "4.2", @@ -7619,6 +7719,7 @@ "bottom_standoff_insert_height": "5.1", "bottom_standoff_pillar": "hex", "bottom_standoff_reverse": "false", + "bottom_standoff_size": "m3", "bottom_standoff_support_height": "4", "bottom_standoff_support_size": "10", "bottom_standoff_type": "countersunk", @@ -7650,6 +7751,7 @@ "ext_bottom_standoff_insert_height": "5.1", "ext_bottom_standoff_pillar": "hex", "ext_bottom_standoff_reverse": "false", + "ext_bottom_standoff_size": "m3", "ext_bottom_standoff_support_height": "4", "ext_bottom_standoff_support_size": "10", "ext_bottom_standoff_type": "countersunk", @@ -7674,6 +7776,7 @@ "ext_top_standoff_insert_height": "5.1", "ext_top_standoff_pillar": "hex", "ext_top_standoff_reverse": "true", + "ext_top_standoff_size": "m3", "ext_top_standoff_support_height": "4", "ext_top_standoff_support_size": "10", "ext_top_standoff_type": "blind", @@ -7693,7 +7796,7 @@ "move_rightside": "0", "pcb_loc_x": "2.62", "pcb_loc_y": "0", - "pcb_loc_z": "4", + "pcb_loc_z": "0", "raise_top": "0", "rear_io_shield": "true", "sbc_bottom_standoffs": "true", @@ -7721,7 +7824,160 @@ "top_rear_right_enable": "true", "top_rear_right_support": "right", "top_sidewall_support": "true", - "top_standoff_diameter": "6.75", + "top_standoff_diameter": "5.75", + "top_standoff_hole_size": "3.4", + "top_standoff_insert": "true", + "top_standoff_insert_dia": "4.2", + "top_standoff_insert_height": "5.1", + "top_standoff_pillar": "hex", + "top_standoff_reverse": "true", + "top_standoff_size": "m3", + "top_standoff_support_height": "4", + "top_standoff_support_size": "10", + "top_standoff_type": "blind", + "uart_opening": "default", + "view": "model", + "wallthick": "2" + }, + "mini-itx_thin_shell": { + "$fn": "90", + "access_panel_location": "[10, 15]", + "access_panel_orientation": "landscape", + "access_panel_rotation": "0", + "access_panel_size": "[70, 30]", + "accessory_highlight": "false", + "accessory_name": "none", + "adj": "0.01", + "bend_allowance": "1", + "bottom_access_panel_enable": "false", + "bottom_clearence": "3.5", + "bottom_cover_pattern": "solid", + "bottom_front_left_adjust": "0", + "bottom_front_left_enable": "true", + "bottom_front_left_support": "front", + "bottom_front_right_adjust": "0", + "bottom_front_right_enable": "true", + "bottom_front_right_support": "front", + "bottom_rear_left_adjust": "0", + "bottom_rear_left_enable": "true", + "bottom_rear_left_support": "rear", + "bottom_rear_right_adjust": "0", + "bottom_rear_right_enable": "true", + "bottom_rear_right_support": "rear", + "bottom_sidewall_support": "false", + "bottom_standoff_diameter": "5.75", + "bottom_standoff_hole_size": "3.4", + "bottom_standoff_insert": "false", + "bottom_standoff_insert_dia": "4.2", + "bottom_standoff_insert_height": "5.1", + "bottom_standoff_pillar": "hex", + "bottom_standoff_reverse": "false", + "bottom_standoff_size": "m3", + "bottom_standoff_support_height": "4", + "bottom_standoff_support_size": "10", + "bottom_standoff_type": "countersunk", + "case_design": "shell", + "case_offset_bz": "4", + "case_offset_tz": "0", + "case_offset_x": "2.62", + "case_offset_y": "0", + "cooling": "default", + "corner_fillet": "3", + "edge_fillet": "0", + "ext_bottom_front_left_adjust": "0", + "ext_bottom_front_left_enable": "true", + "ext_bottom_front_left_support": "front", + "ext_bottom_front_right_adjust": "0", + "ext_bottom_front_right_enable": "true", + "ext_bottom_front_right_support": "front", + "ext_bottom_rear_left_adjust": "0", + "ext_bottom_rear_left_enable": "true", + "ext_bottom_rear_left_support": "rear", + "ext_bottom_rear_right_adjust": "0", + "ext_bottom_rear_right_enable": "true", + "ext_bottom_rear_right_support": "rear", + "ext_bottom_sidewall_support": "true", + "ext_bottom_standoff_diameter": "5.75", + "ext_bottom_standoff_hole_size": "3.4", + "ext_bottom_standoff_insert": "false", + "ext_bottom_standoff_insert_dia": "4.2", + "ext_bottom_standoff_insert_height": "5.1", + "ext_bottom_standoff_pillar": "hex", + "ext_bottom_standoff_reverse": "false", + "ext_bottom_standoff_size": "m3", + "ext_bottom_standoff_support_height": "4", + "ext_bottom_standoff_support_size": "10", + "ext_bottom_standoff_type": "countersunk", + "ext_bottom_standoffs": "true", + "ext_top_front_left_adjust": "0", + "ext_top_front_left_enable": "true", + "ext_top_front_left_support": "front", + "ext_top_front_right_adjust": "0", + "ext_top_front_right_enable": "true", + "ext_top_front_right_support": "front", + "ext_top_rear_left_adjust": "0", + "ext_top_rear_left_enable": "true", + "ext_top_rear_left_support": "rear", + "ext_top_rear_right_adjust": "0", + "ext_top_rear_right_enable": "true", + "ext_top_rear_right_support": "rear", + "ext_top_sidewall_support": "true", + "ext_top_standoff_diameter": "6.75", + "ext_top_standoff_hole_size": "3.4", + "ext_top_standoff_insert": "true", + "ext_top_standoff_insert_dia": "4.2", + "ext_top_standoff_insert_height": "5.1", + "ext_top_standoff_pillar": "hex", + "ext_top_standoff_reverse": "true", + "ext_top_standoff_size": "m3", + "ext_top_standoff_support_height": "4", + "ext_top_standoff_support_size": "10", + "ext_top_standoff_type": "blind", + "ext_top_standoffs": "true", + "fan_size": "0", + "flat_blank_section": "false", + "floorthick": "2", + "gap": "2", + "gpio_opening": "default", + "indents": "true", + "individual_part": "top", + "lower_bottom": "0", + "material_thickness": "0.5", + "move_front": "0", + "move_leftside": "0", + "move_rear": "0", + "move_rightside": "0", + "pcb_loc_x": "2.62", + "pcb_loc_y": "0", + "pcb_loc_z": "0", + "raise_top": "0", + "rear_io_shield": "true", + "sbc_bottom_standoffs": "true", + "sbc_highlight": "false", + "sbc_information": "false", + "sbc_model": "mini-itx_thin", + "sbc_off": "false", + "sbc_top_standoffs": "true", + "sidethick": "1.5", + "standard_motherboard_thickness": "0", + "text_color": "Green", + "text_font": "Nimbus Mono PS", + "tol": "0.25", + "top_cover_pattern": "hex_8mm", + "top_front_left_adjust": "0", + "top_front_left_enable": "true", + "top_front_left_support": "front", + "top_front_right_adjust": "0", + "top_front_right_enable": "true", + "top_front_right_support": "front", + "top_rear_left_adjust": "0", + "top_rear_left_enable": "true", + "top_rear_left_support": "left", + "top_rear_right_adjust": "0", + "top_rear_right_enable": "true", + "top_rear_right_support": "right", + "top_sidewall_support": "true", + "top_standoff_diameter": "5.75", "top_standoff_hole_size": "3.4", "top_standoff_insert": "true", "top_standoff_insert_dia": "4.2", @@ -7748,7 +8004,7 @@ "bend_allowance": "1", "bottom_access_panel_enable": "false", "bottom_clearence": "3.5", - "bottom_cover_pattern": "linear_horizontal", + "bottom_cover_pattern": "solid", "bottom_front_left_adjust": "0", "bottom_front_left_enable": "true", "bottom_front_left_support": "front", @@ -7769,12 +8025,13 @@ "bottom_standoff_insert_height": "5.1", "bottom_standoff_pillar": "hex", "bottom_standoff_reverse": "false", + "bottom_standoff_size": "m3", "bottom_standoff_support_height": "4", "bottom_standoff_support_size": "10", "bottom_standoff_type": "countersunk", "case_design": "shell", "case_offset_bz": "4", - "case_offset_tz": "35", + "case_offset_tz": "0", "case_offset_x": "0", "case_offset_y": "0", "cooling": "default", @@ -7800,6 +8057,7 @@ "ext_bottom_standoff_insert_height": "5.1", "ext_bottom_standoff_pillar": "hex", "ext_bottom_standoff_reverse": "false", + "ext_bottom_standoff_size": "m3", "ext_bottom_standoff_support_height": "4", "ext_bottom_standoff_support_size": "10", "ext_bottom_standoff_type": "countersunk", @@ -7824,6 +8082,7 @@ "ext_top_standoff_insert_height": "5.1", "ext_top_standoff_pillar": "hex", "ext_top_standoff_reverse": "true", + "ext_top_standoff_size": "m3", "ext_top_standoff_support_height": "4", "ext_top_standoff_support_size": "10", "ext_top_standoff_type": "blind", @@ -7843,7 +8102,7 @@ "move_rightside": "0", "pcb_loc_x": "0", "pcb_loc_y": "0", - "pcb_loc_z": "4", + "pcb_loc_z": "0", "raise_top": "0", "rear_io_shield": "true", "sbc_bottom_standoffs": "true", @@ -7871,7 +8130,7 @@ "top_rear_right_enable": "true", "top_rear_right_support": "right", "top_sidewall_support": "true", - "top_standoff_diameter": "6.75", + "top_standoff_diameter": "5.75", "top_standoff_hole_size": "3.4", "top_standoff_insert": "true", "top_standoff_insert_dia": "4.2", @@ -7885,6 +8144,159 @@ "uart_opening": "default", "view": "model", "wallthick": "2" + }, + "mini-stx_thin_shell": { + "$fn": "90", + "access_panel_location": "[10, 15]", + "access_panel_orientation": "landscape", + "access_panel_rotation": "0", + "access_panel_size": "[70, 30]", + "accessory_highlight": "false", + "accessory_name": "none", + "adj": "0.01", + "bend_allowance": "1", + "bottom_access_panel_enable": "false", + "bottom_clearence": "3.5", + "bottom_cover_pattern": "solid", + "bottom_front_left_adjust": "0", + "bottom_front_left_enable": "true", + "bottom_front_left_support": "front", + "bottom_front_right_adjust": "0", + "bottom_front_right_enable": "true", + "bottom_front_right_support": "front", + "bottom_rear_left_adjust": "0", + "bottom_rear_left_enable": "true", + "bottom_rear_left_support": "rear", + "bottom_rear_right_adjust": "0", + "bottom_rear_right_enable": "true", + "bottom_rear_right_support": "rear", + "bottom_sidewall_support": "false", + "bottom_standoff_diameter": "5.75", + "bottom_standoff_hole_size": "3.4", + "bottom_standoff_insert": "false", + "bottom_standoff_insert_dia": "4.2", + "bottom_standoff_insert_height": "5.1", + "bottom_standoff_pillar": "hex", + "bottom_standoff_reverse": "false", + "bottom_standoff_size": "m3", + "bottom_standoff_support_height": "4", + "bottom_standoff_support_size": "10", + "bottom_standoff_type": "countersunk", + "case_design": "shell", + "case_offset_bz": "4", + "case_offset_tz": "0", + "case_offset_x": "0", + "case_offset_y": "0", + "cooling": "default", + "corner_fillet": "3", + "edge_fillet": "0", + "ext_bottom_front_left_adjust": "0", + "ext_bottom_front_left_enable": "true", + "ext_bottom_front_left_support": "front", + "ext_bottom_front_right_adjust": "0", + "ext_bottom_front_right_enable": "true", + "ext_bottom_front_right_support": "front", + "ext_bottom_rear_left_adjust": "0", + "ext_bottom_rear_left_enable": "true", + "ext_bottom_rear_left_support": "rear", + "ext_bottom_rear_right_adjust": "0", + "ext_bottom_rear_right_enable": "true", + "ext_bottom_rear_right_support": "rear", + "ext_bottom_sidewall_support": "true", + "ext_bottom_standoff_diameter": "5.75", + "ext_bottom_standoff_hole_size": "3.4", + "ext_bottom_standoff_insert": "false", + "ext_bottom_standoff_insert_dia": "4.2", + "ext_bottom_standoff_insert_height": "5.1", + "ext_bottom_standoff_pillar": "hex", + "ext_bottom_standoff_reverse": "false", + "ext_bottom_standoff_size": "m3", + "ext_bottom_standoff_support_height": "4", + "ext_bottom_standoff_support_size": "10", + "ext_bottom_standoff_type": "countersunk", + "ext_bottom_standoffs": "true", + "ext_top_front_left_adjust": "0", + "ext_top_front_left_enable": "true", + "ext_top_front_left_support": "front", + "ext_top_front_right_adjust": "0", + "ext_top_front_right_enable": "true", + "ext_top_front_right_support": "front", + "ext_top_rear_left_adjust": "0", + "ext_top_rear_left_enable": "true", + "ext_top_rear_left_support": "rear", + "ext_top_rear_right_adjust": "0", + "ext_top_rear_right_enable": "true", + "ext_top_rear_right_support": "rear", + "ext_top_sidewall_support": "true", + "ext_top_standoff_diameter": "6.75", + "ext_top_standoff_hole_size": "3.4", + "ext_top_standoff_insert": "true", + "ext_top_standoff_insert_dia": "4.2", + "ext_top_standoff_insert_height": "5.1", + "ext_top_standoff_pillar": "hex", + "ext_top_standoff_reverse": "true", + "ext_top_standoff_size": "m3", + "ext_top_standoff_support_height": "4", + "ext_top_standoff_support_size": "10", + "ext_top_standoff_type": "blind", + "ext_top_standoffs": "false", + "fan_size": "0", + "flat_blank_section": "false", + "floorthick": "2", + "gap": "2", + "gpio_opening": "default", + "indents": "true", + "individual_part": "bottom", + "lower_bottom": "0", + "material_thickness": "0.5", + "move_front": "0", + "move_leftside": "0", + "move_rear": "0", + "move_rightside": "0", + "pcb_loc_x": "0", + "pcb_loc_y": "0", + "pcb_loc_z": "0", + "raise_top": "0", + "rear_io_shield": "true", + "sbc_bottom_standoffs": "true", + "sbc_highlight": "false", + "sbc_information": "false", + "sbc_model": "mini-stx_thin", + "sbc_off": "false", + "sbc_top_standoffs": "true", + "sidethick": "1.5", + "standard_motherboard_thickness": "0", + "text_color": "Green", + "text_font": "Nimbus Mono PS", + "tol": "0.25", + "top_cover_pattern": "hex_8mm", + "top_front_left_adjust": "0", + "top_front_left_enable": "true", + "top_front_left_support": "front", + "top_front_right_adjust": "0", + "top_front_right_enable": "true", + "top_front_right_support": "front", + "top_rear_left_adjust": "0", + "top_rear_left_enable": "true", + "top_rear_left_support": "left", + "top_rear_right_adjust": "0", + "top_rear_right_enable": "true", + "top_rear_right_support": "right", + "top_sidewall_support": "true", + "top_standoff_diameter": "6", + "top_standoff_hole_size": "3.4", + "top_standoff_insert": "true", + "top_standoff_insert_dia": "4.2", + "top_standoff_insert_height": "5.1", + "top_standoff_pillar": "hex", + "top_standoff_reverse": "true", + "top_standoff_size": "custom", + "top_standoff_support_height": "4", + "top_standoff_support_size": "10", + "top_standoff_type": "blind", + "uart_opening": "default", + "view": "model", + "wallthick": "2" } }, "fileFormatVersion": "1" diff --git a/sbc_case_builder.scad b/sbc_case_builder.scad index d7e1e44..238eab6 100644 --- a/sbc_case_builder.scad +++ b/sbc_case_builder.scad @@ -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(); } } diff --git a/sbc_case_builder_accessories.cfg b/sbc_case_builder_accessories.cfg index fbaf2a7..2f238b0 100644 --- a/sbc_case_builder_accessories.cfg +++ b/sbc_case_builder_accessories.cfg @@ -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"]], ];