diff --git a/mod/case_adapter.scad b/mod/case_adapter.scad index a1067e6..2c37a64 100644 --- a/mod/case_adapter.scad +++ b/mod/case_adapter.scad @@ -44,13 +44,15 @@ mb_adapters=[ ["left_front", 6.35, 165.1], ["right_front", 163.83, 165.1]], ["adapter_mini-itx", 170, 170, ["left_rear", 6.35, 33.02], ["right_rear", 163.83, 10.16], ["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]], ]; mb = search([case_design],mb_adapters); mba_x = mb_adapters[mb[0]][1]; mba_y = mb_adapters[mb[0]][2]; mba_z = floorthick; - mba_offset_x = -6.35; + mba_offset_x = -8.35; mba_offset_y = 0; mba_radius = 5; mba_standoff = [6.75, floorthick, 4, 7, floorthick, "none", "round", "none", true, false, 0, 0]; @@ -60,8 +62,29 @@ mb_adapters=[ difference() { union() { difference() { - translate([mba_offset_x,mba_offset_y,0]) slab([mba_x,mba_y,mba_z], mba_radius); - translate([mba_offset_x+8,mba_offset_y+8,0]) vent_hex((mba_x-16)/6,(mba_y-16)/10,floorthick+4,10,1.5,"horizontal"); + union() { + translate([mba_offset_x,mba_offset_y,0]) slab([mba_x,mba_y,mba_z], mba_radius); + // additive accessories + if(accessory_name != "none") { + for (i=[1:11:len(accessory_data[a[0]])-1]) { + class = accessory_data[a[0]][i]; + type = accessory_data[a[0]][i+1]; + loc_x = accessory_data[a[0]][i+2]; + loc_y = accessory_data[a[0]][i+3]; + loc_z = accessory_data[a[0]][i+4]; + face = accessory_data[a[0]][i+5]; + rotation = accessory_data[a[0]][i+6]; + parametric = accessory_data[a[0]][i+7]; + size = accessory_data[a[0]][i+8]; + data = accessory_data[a[0]][i+9]; + mask = accessory_data[a[0]][i+10]; + + if(class == "add1" && face == "bottom") { + parametric_move_add(type, loc_x, loc_y, loc_z, face, rotation, parametric, size, data, [false,mask[1],mask[2],mask[3]]); + } + } + } + } // adapter standoff holes for (i=[2:len(mb_adapters[mb[0]])-3:len(mb_adapters[mb[0]])-3]) { for (c=[1:1:len(mb_adapters[mb[0]])-3]) { @@ -103,6 +126,87 @@ mb_adapters=[ } } } + // bottom cover pattern + if(bottom_cover_pattern != "solid") { + if(bottom_cover_pattern == "hex_5mm") { + translate([1,0,-2]) vent_hex(mba_x/3.75,mba_y/6,floorthick+4,5,1.5,"horizontal"); + } + if(bottom_cover_pattern == "hex_8mm") { + translate([1,2,-2]) vent_hex(mba_x/5.5,mba_y/9.5,floorthick+4,8,1.5,"horizontal"); + } + if(bottom_cover_pattern == "linear_vertical") { + translate([0,-gap,-2]) vent(wallthick,mba_y-2*wallthick-gap,floorthick+4,1,1,(mba_x-2*wallthick-gap)/4,"horizontal"); + } + if(bottom_cover_pattern == "linear_horizontal") { + translate([-gap,-gap,-2]) vent(mba_x-2*wallthick-gap,wallthick,floorthick+4,1,(mba_y-2*wallthick-gap)/3,1,"horizontal"); + } + if(bottom_cover_pattern == "astroid") { + for(c=[3:12:mba_y-8]) { + for(r=[4:12:mba_x-8]) { + translate([r,c,-4]) linear_extrude(floorthick+5) import("./dxf/astroid_8mm.dxf"); + } + } + } + } + // subtractive accessories + if(accessory_name != "none") { + for (i=[1:11:len(accessory_data[a[0]])-1]) { + class = accessory_data[a[0]][i]; + type = accessory_data[a[0]][i+1]; + loc_x = accessory_data[a[0]][i+2]; + loc_y = accessory_data[a[0]][i+3]; + loc_z = accessory_data[a[0]][i+4]; + face = accessory_data[a[0]][i+5]; + rotation = accessory_data[a[0]][i+6]; + parametric = accessory_data[a[0]][i+7]; + size_x = accessory_data[a[0]][i+8][0]; + size_y = accessory_data[a[0]][i+8][1]; + size_z = accessory_data[a[0]][i+8][2]; + data = accessory_data[a[0]][i+9]; + mask = accessory_data[a[0]][i+10]; + + if ((class == "sub" && face == "bottom") || class == "suball") { + if(accessory_highlight == false) { + parametric_move_sub(type, loc_x, loc_y, loc_z, face, rotation, parametric, + [size_x,size_y,size_z],data, mask); + } + else { + #parametric_move_sub(type,loc_x,loc_y,loc_z,face,rotation,parametric, + [size_x,size_y,size_z],data, mask); + + } + } + + // create openings for additive + if ((class == "add1" || class == "add2" || class == "model") && mask[0] == true) { + if(accessory_highlight == false) { + parametric_move_add(type,loc_x,loc_y,loc_z,face,rotation,parametric,[size_x,size_y,size_z],data,[true,mask[1],mask[2],mask[3]]); + } + else { + #parametric_move_add(type,loc_x,loc_y,loc_z,face,rotation,parametric,[size_x,size_y,size_z],data,[true,mask[1],mask[2],mask[3]]); + } + } + } + } + // ui access panel + if(bottom_access_panel_enable == true) { + if(access_panel_rotation == 0) { + translate([access_panel_location[0],access_panel_location[1], 0]) rotate([0,0,access_panel_rotation]) + access_panel([access_panel_size[0],access_panel_size[1],floorthick], access_panel_orientation, [true,10,2,"default"]); + } + if(access_panel_rotation == 90) { + translate([access_panel_location[0]+access_panel_size[1],access_panel_location[1], 0]) rotate([0,0,access_panel_rotation]) + access_panel([access_panel_size[0],access_panel_size[1],floorthick], access_panel_orientation, [true,10,2,"default"]); + } + if(access_panel_rotation == 180) { + translate([access_panel_location[0]+access_panel_size[0],access_panel_location[1]+access_panel_size[1],0]) rotate([0,0,access_panel_rotation]) + access_panel([access_panel_size[0],access_panel_size[1],floorthick], access_panel_orientation, [true,10,2,"default"]); + } + if(access_panel_rotation == 270) { + translate([access_panel_location[0],access_panel_location[1]+access_panel_size[0], 0]) rotate([0,0,access_panel_rotation]) + access_panel([access_panel_size[0],access_panel_size[1],floorthick], access_panel_orientation, [true,10,2,"default"]); + } + } } // adapter standoffs for (i=[2:len(mb_adapters[mb[0]])-3:len(mb_adapters[mb[0]])-3]) { @@ -201,32 +305,111 @@ mb_adapters=[ // translate([mba_offset_x-10, -10, -1]) cube([10, mba_y+20, floorthick+4]); // translate([mba_x+mba_offset_x, -10, -1]) cube([10, mba_y+20, floorthick+4]); } + // additive accessories + if(accessory_name != "none") { + for (i=[1:11:len(accessory_data[a[0]])-1]) { + class = accessory_data[a[0]][i]; + type = accessory_data[a[0]][i+1]; + loc_x = accessory_data[a[0]][i+2]; + loc_y = accessory_data[a[0]][i+3]; + loc_z = accessory_data[a[0]][i+4]; + face = accessory_data[a[0]][i+5]; + rotation = accessory_data[a[0]][i+6]; + parametric = accessory_data[a[0]][i+7]; + size = accessory_data[a[0]][i+8]; + data = accessory_data[a[0]][i+9]; + mask = accessory_data[a[0]][i+10]; + + if(class == "add2" && face == "bottom") { + parametric_move_add(type, loc_x, loc_y, loc_z, face, rotation, parametric, size, data, [false,mask[1],mask[2],mask[3]]); + } + } + } + // ui access port + if(bottom_access_panel_enable == true) { + if(access_panel_rotation == 0) { + translate([access_panel_location[0],access_panel_location[1], 0]) rotate([0,0,access_panel_rotation]) + access_panel([access_panel_size[0],access_panel_size[1],floorthick], access_panel_orientation, [false,10,2,"default"]); + } + if(access_panel_rotation == 90) { + translate([access_panel_location[0]+access_panel_size[1],access_panel_location[1], 0]) rotate([0,0,access_panel_rotation]) + access_panel([access_panel_size[0],access_panel_size[1],floorthick], access_panel_orientation, [false,10,2,"default"]); + } + if(access_panel_rotation == 180) { + translate([access_panel_location[0]+access_panel_size[0],access_panel_location[1]+access_panel_size[1],0]) rotate([0,0,access_panel_rotation]) + access_panel([access_panel_size[0],access_panel_size[1],floorthick], access_panel_orientation, [false,10,2,"default"]); + } + if(access_panel_rotation == 270) { + translate([access_panel_location[0],access_panel_location[1]+access_panel_size[0], 0]) rotate([0,0,access_panel_rotation]) + access_panel([access_panel_size[0],access_panel_size[1],floorthick], access_panel_orientation, [false,10,2,"default"]); + } + } } /* - NAME: io_panel + NAME: io_plate DESCRIPTION: creates rear io panel for legacy cases TODO: none - USAGE: io_panel() + USAGE: io_plate() */ -module io_panel() { +module io_plate() { - io_window_x = 158.75; + io_window_x = case_design == "adapter_mini-stx" ? 124.75 : 158.75; io_window_y = 4; - io_window_z = 44; - io_offset = 6.35; + io_window_z = case_design == "adapter_mini-stx" ? 40 : 44; + io_offset = case_design == "adapter_mini-stx" ? 1.2 : 10.79; difference() { union() { translate([-1,io_window_y-1,-1]) cube([io_window_x+2,1,io_window_z+2]); - translate([0,0,0]) cube([io_window_x,4,io_window_z]); + cube([io_window_x,4,io_window_z]); } translate([2,-2,2]) cube([io_window_x-4,5,io_window_z-4]); - translate([8.79 ,6,bottom_height-pcb_z+pcb_loc_z+2]) + translate([io_offset,6,bottom_height-pcb_z+pcb_loc_z+2]) sbc(sbc_model, cooling, fan_size, gpio_opening, uart_opening, true); + // subtractive accessories + if(accessory_name != "none") { + for (i=[1:11:len(accessory_data[a[0]])-1]) { + class = accessory_data[a[0]][i]; + type = accessory_data[a[0]][i+1]; + loc_x = accessory_data[a[0]][i+2]+io_offset; + loc_y = accessory_data[a[0]][i+3]+io_window_y; + loc_z = accessory_data[a[0]][i+4]+2; + face = accessory_data[a[0]][i+5]; + rotation = accessory_data[a[0]][i+6]; + parametric = accessory_data[a[0]][i+7]; + size_x = accessory_data[a[0]][i+8][0]; + size_y = accessory_data[a[0]][i+8][1]; + size_z = accessory_data[a[0]][i+8][2]; + data = accessory_data[a[0]][i+9]; + mask = accessory_data[a[0]][i+10]; + + if ((class == "sub" && face == "bottom") || class == "suball") { + if(accessory_highlight == false) { + parametric_move_sub(type, loc_x, loc_y, loc_z, face, rotation, parametric, + [size_x,size_y,size_z],data, mask); + } + else { + #parametric_move_sub(type,loc_x,loc_y,loc_z,face,rotation,parametric, + [size_x,size_y,size_z],data, mask); + + } + } + + // create openings for additive + if ((class == "add1" || class == "add2" || class == "model") && mask[0] == true) { + if(accessory_highlight == false) { + parametric_move_add(type,loc_x,loc_y,loc_z,face,rotation,parametric,[size_x,size_y,size_z],data,[true,mask[1],mask[2],mask[3]]); + } + else { + #parametric_move_add(type,loc_x,loc_y,loc_z,face,rotation,parametric,[size_x,size_y,size_z],data,[true,mask[1],mask[2],mask[3]]); + } + } + } + } } } diff --git a/mod/case_bottom.scad b/mod/case_bottom.scad index ed6f059..8d63976 100644 --- a/mod/case_bottom.scad +++ b/mod/case_bottom.scad @@ -300,6 +300,13 @@ module case_bottom(case_design) { } } } + // rear io plate support for standard form motherboards +// if(rear_io_plate == true) { +// difference() { +// translate([-10.79+pcb_loc_x,-gap-adj,-2+bottom_height-pcb_z+pcb_loc_z-1]) cube([162.75, 13, 46]); +// translate([-10.79+pcb_loc_x-1,-gap-2*adj,-pcb_z+pcb_loc_z+bottom_height]) cube([162.75+2, 15, top_height+1]); +// } +// } } // tray side attachment holes if(case_design == "tray" || case_design == "tray_vu5" || case_design == "tray_vu7" || case_design == "tray_sides") { @@ -456,6 +463,10 @@ module case_bottom(case_design) { } } } + // rear io plate opening for standard form motherboards + if(rear_io_plate == true) { + translate([-8.79+pcb_loc_x,-4.5,-2+bottom_height-pcb_z+pcb_loc_z]) cube([158.75, 10+pcb_loc_y, 44]); + } } // pcb standoffs if(sbc_bottom_standoffs == true) { @@ -544,7 +555,7 @@ module case_bottom(case_design) { // 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], - bottom_height+pcb_loc_z+ext_bottom_rear_right_adjust, + bottom_height+ext_bottom_rear_right_adjust, ext_bottom_standoff[2], ext_bottom_standoff[3], ext_bottom_standoff[4], @@ -564,7 +575,7 @@ module case_bottom(case_design) { (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], - bottom_height+pcb_loc_z+ext_bottom_front_right_adjust, + bottom_height+ext_bottom_front_right_adjust, ext_bottom_standoff[2], ext_bottom_standoff[3], ext_bottom_standoff[4], @@ -581,7 +592,7 @@ module case_bottom(case_design) { // 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], - bottom_height+pcb_loc_z+ext_bottom_rear_left_adjust, + bottom_height+ext_bottom_rear_left_adjust, ext_bottom_standoff[2], ext_bottom_standoff[3], ext_bottom_standoff[4], @@ -601,7 +612,7 @@ module case_bottom(case_design) { (pcb_loc_x >= 10 && depth-(pcb_loc_y+pcb_depth) <= 10)) && ext_bottom_front_left_enable == true) { normal_standoff = [ext_bottom_standoff[0], - bottom_height+pcb_loc_z+ext_bottom_front_left_adjust, + bottom_height+ext_bottom_front_left_adjust, ext_bottom_standoff[2], ext_bottom_standoff[3], ext_bottom_standoff[4], diff --git a/mod/case_top.scad b/mod/case_top.scad index a41f09f..8bace33 100644 --- a/mod/case_top.scad +++ b/mod/case_top.scad @@ -30,6 +30,7 @@ module case_top(case_design) { vu_rotation = [15,0,0]; case_fn = 360; // circle segments for round cases case_ffn = 90; // circle segments for fillet of round cases + adj = .01; difference() { union() { @@ -293,6 +294,13 @@ module case_top(case_design) { } } } + // rear io plate support for standard form motherboards +// if(rear_io_plate == true) { +// difference() { +// translate([-10.79+pcb_loc_x,-gap-adj,-2+bottom_height-pcb_z+pcb_loc_z-1]) cube([162.75, 13, 46]); +// translate([-10.79+pcb_loc_x-2*adj,-gap-1,pcb_z+pcb_loc_z]) cube([162.75+2, 15, bottom_height+1]); +// } +// } } // pcb standoff holes if(sbc_top_standoffs == true) { @@ -378,6 +386,10 @@ module case_top(case_design) { } } } + // rear io plate opening for standard form motherboards + if(rear_io_plate == true) { + translate([-8.79+pcb_loc_x,-4.5,-2+bottom_height-pcb_z+pcb_loc_z]) cube([158.75, 10+pcb_loc_y, 44]); + } } // pcb standoffs if(sbc_top_standoffs == true) { @@ -395,7 +407,7 @@ module case_top(case_design) { 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], - top_height+pcb_loc_z+top_rear_left_adjust, + top_height-pcb_loc_z+top_rear_left_adjust, top_standoff[2], top_standoff[3], top_standoff[4], @@ -411,7 +423,7 @@ module case_top(case_design) { 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], - top_height+pcb_loc_z+top_front_left_adjust, + top_height-pcb_loc_z+top_front_left_adjust, top_standoff[2], top_standoff[3], top_standoff[4], @@ -427,7 +439,7 @@ module case_top(case_design) { 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], - top_height+pcb_loc_z+top_rear_right_adjust, + top_height-pcb_loc_z+top_rear_right_adjust, top_standoff[2], top_standoff[3], top_standoff[4], @@ -443,7 +455,7 @@ module case_top(case_design) { 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], - top_height+pcb_loc_z+top_front_right_adjust, + top_height-pcb_loc_z+top_front_right_adjust, top_standoff[2], top_standoff[3], top_standoff[4], @@ -464,7 +476,7 @@ module case_top(case_design) { // 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], - top_height+pcb_loc_z+ext_top_rear_right_adjust, + top_height+ext_top_rear_right_adjust, ext_top_standoff[2], ext_top_standoff[3], ext_top_standoff[4], @@ -484,7 +496,7 @@ module case_top(case_design) { (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], - top_height+pcb_loc_z+ext_top_front_right_adjust, + top_height+ext_top_front_right_adjust, ext_top_standoff[2], ext_top_standoff[3], ext_top_standoff[4], @@ -502,7 +514,7 @@ module case_top(case_design) { // 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+pcb_loc_z+ext_top_rear_left_adjust, + top_height+ext_top_rear_left_adjust, ext_top_standoff[2], ext_top_standoff[3], ext_top_standoff[4], @@ -522,7 +534,7 @@ module case_top(case_design) { (pcb_loc_x >= 10 && depth-(pcb_loc_y+pcb_depth) <= 10)) && ext_top_front_left_enable == true) { normal_standoff = [ext_top_standoff[0], - top_height+pcb_loc_z+ext_top_front_left_adjust, + top_height+ext_top_front_left_adjust, ext_top_standoff[2], ext_top_standoff[3], ext_top_standoff[4], diff --git a/sbc_case_builder.json b/sbc_case_builder.json index 1c7ce79..c00ef60 100644 --- a/sbc_case_builder.json +++ b/sbc_case_builder.json @@ -110,6 +110,7 @@ "pcb_loc_y": "0", "pcb_loc_z": "0", "raise_top": "0", + "rear_io_plate": "false", "sbc_bottom_standoffs": "true", "sbc_highlight": "false", "sbc_information": "false", @@ -258,6 +259,7 @@ "pcb_loc_y": "0", "pcb_loc_z": "4", "raise_top": "0", + "rear_io_plate": "false", "sbc_bottom_standoffs": "true", "sbc_highlight": "false", "sbc_information": "false", @@ -406,6 +408,7 @@ "pcb_loc_y": "0", "pcb_loc_z": "0", "raise_top": "0", + "rear_io_plate": "false", "sbc_bottom_standoffs": "true", "sbc_highlight": "false", "sbc_information": "false", @@ -554,6 +557,7 @@ "pcb_loc_y": "0", "pcb_loc_z": "0", "raise_top": "0", + "rear_io_plate": "false", "sbc_bottom_standoffs": "true", "sbc_highlight": "false", "sbc_information": "false", @@ -702,6 +706,7 @@ "pcb_loc_y": "0", "pcb_loc_z": "4", "raise_top": "0", + "rear_io_plate": "false", "sbc_bottom_standoffs": "true", "sbc_highlight": "false", "sbc_information": "false", @@ -850,6 +855,7 @@ "pcb_loc_y": "0", "pcb_loc_z": "0", "raise_top": "0", + "rear_io_plate": "false", "sbc_bottom_standoffs": "true", "sbc_highlight": "false", "sbc_information": "false", @@ -998,6 +1004,7 @@ "pcb_loc_y": "0", "pcb_loc_z": "0", "raise_top": "0", + "rear_io_plate": "false", "sbc_bottom_standoffs": "true", "sbc_highlight": "false", "sbc_information": "false", @@ -1146,6 +1153,7 @@ "pcb_loc_y": "0", "pcb_loc_z": "0", "raise_top": "0", + "rear_io_plate": "false", "sbc_bottom_standoffs": "false", "sbc_highlight": "false", "sbc_information": "false", @@ -1221,6 +1229,7 @@ "pcb_loc_y": "0", "pcb_loc_z": "0", "raise_top": "0", + "rear_io_plate": "false", "sata_knockout": "false", "sbc_bottom_standoffs": "true", "sbc_highlight": "false", @@ -1350,6 +1359,7 @@ "pcb_loc_y": "0", "pcb_loc_z": "0", "raise_top": "0", + "rear_io_plate": "false", "sbc_bottom_standoffs": "true", "sbc_highlight": "false", "sbc_information": "false", @@ -1498,6 +1508,7 @@ "pcb_loc_y": "0", "pcb_loc_z": "0", "raise_top": "0", + "rear_io_plate": "false", "sbc_bottom_standoffs": "true", "sbc_highlight": "false", "sbc_information": "false", @@ -1794,6 +1805,7 @@ "pcb_loc_y": "0", "pcb_loc_z": "0", "raise_top": "0", + "rear_io_plate": "false", "sbc_bottom_standoffs": "true", "sbc_highlight": "false", "sbc_information": "false", @@ -1942,6 +1954,7 @@ "pcb_loc_y": "0", "pcb_loc_z": "0", "raise_top": "0", + "rear_io_plate": "false", "sbc_bottom_standoffs": "true", "sbc_highlight": "false", "sbc_information": "false", @@ -2090,6 +2103,7 @@ "pcb_loc_y": "0", "pcb_loc_z": "0", "raise_top": "0", + "rear_io_plate": "false", "sbc_bottom_standoffs": "true", "sbc_highlight": "false", "sbc_information": "false", @@ -2238,6 +2252,7 @@ "pcb_loc_y": "0", "pcb_loc_z": "0", "raise_top": "0", + "rear_io_plate": "false", "sbc_bottom_standoffs": "true", "sbc_highlight": "false", "sbc_information": "false", @@ -2386,6 +2401,7 @@ "pcb_loc_y": "0", "pcb_loc_z": "0", "raise_top": "0", + "rear_io_plate": "false", "sbc_bottom_standoffs": "true", "sbc_highlight": "false", "sbc_information": "false", @@ -2534,6 +2550,7 @@ "pcb_loc_y": "0", "pcb_loc_z": "0", "raise_top": "0", + "rear_io_plate": "false", "sbc_bottom_standoffs": "true", "sbc_highlight": "false", "sbc_information": "false", @@ -2682,6 +2699,7 @@ "pcb_loc_y": "0", "pcb_loc_z": "0", "raise_top": "0", + "rear_io_plate": "false", "sbc_bottom_standoffs": "true", "sbc_highlight": "false", "sbc_information": "false", @@ -2830,6 +2848,7 @@ "pcb_loc_y": "0", "pcb_loc_z": "0", "raise_top": "0", + "rear_io_plate": "false", "sbc_bottom_standoffs": "false", "sbc_highlight": "false", "sbc_information": "false", @@ -2978,6 +2997,7 @@ "pcb_loc_y": "0", "pcb_loc_z": "0", "raise_top": "0", + "rear_io_plate": "false", "sbc_bottom_standoffs": "false", "sbc_highlight": "false", "sbc_information": "false", @@ -3126,6 +3146,7 @@ "pcb_loc_y": "0", "pcb_loc_z": "0", "raise_top": "0", + "rear_io_plate": "false", "sbc_bottom_standoffs": "false", "sbc_highlight": "false", "sbc_information": "false", @@ -3274,6 +3295,7 @@ "pcb_loc_y": "0", "pcb_loc_z": "0", "raise_top": "0", + "rear_io_plate": "false", "sbc_bottom_standoffs": "false", "sbc_highlight": "false", "sbc_information": "false", @@ -3422,6 +3444,7 @@ "pcb_loc_y": "0", "pcb_loc_z": "0", "raise_top": "0", + "rear_io_plate": "false", "sbc_bottom_standoffs": "false", "sbc_highlight": "false", "sbc_information": "false", @@ -3570,6 +3593,7 @@ "pcb_loc_y": "0", "pcb_loc_z": "0", "raise_top": "0", + "rear_io_plate": "false", "sbc_bottom_standoffs": "true", "sbc_highlight": "false", "sbc_information": "false", @@ -3718,6 +3742,7 @@ "pcb_loc_y": "0", "pcb_loc_z": "0", "raise_top": "0", + "rear_io_plate": "false", "sbc_bottom_standoffs": "true", "sbc_highlight": "false", "sbc_information": "false", @@ -3866,6 +3891,7 @@ "pcb_loc_y": "0", "pcb_loc_z": "0", "raise_top": "0", + "rear_io_plate": "false", "sbc_bottom_standoffs": "true", "sbc_highlight": "false", "sbc_information": "false", @@ -4014,6 +4040,7 @@ "pcb_loc_y": "0", "pcb_loc_z": "0", "raise_top": "0", + "rear_io_plate": "false", "sbc_bottom_standoffs": "true", "sbc_highlight": "false", "sbc_information": "false", @@ -4162,6 +4189,7 @@ "pcb_loc_y": "0", "pcb_loc_z": "0", "raise_top": "0", + "rear_io_plate": "false", "sbc_bottom_standoffs": "true", "sbc_highlight": "false", "sbc_information": "false", @@ -4310,6 +4338,7 @@ "pcb_loc_y": "0", "pcb_loc_z": "0", "raise_top": "0", + "rear_io_plate": "false", "sbc_bottom_standoffs": "true", "sbc_highlight": "false", "sbc_information": "false", @@ -4458,6 +4487,7 @@ "pcb_loc_y": "0", "pcb_loc_z": "0", "raise_top": "0", + "rear_io_plate": "false", "sbc_bottom_standoffs": "true", "sbc_highlight": "false", "sbc_information": "false", @@ -4606,6 +4636,7 @@ "pcb_loc_y": "0", "pcb_loc_z": "0", "raise_top": "0", + "rear_io_plate": "false", "sbc_bottom_standoffs": "true", "sbc_highlight": "false", "sbc_information": "false", @@ -4754,6 +4785,7 @@ "pcb_loc_y": "0", "pcb_loc_z": "0", "raise_top": "0", + "rear_io_plate": "false", "sbc_bottom_standoffs": "true", "sbc_highlight": "false", "sbc_information": "false", @@ -4902,6 +4934,7 @@ "pcb_loc_y": "0", "pcb_loc_z": "0", "raise_top": "0", + "rear_io_plate": "false", "sbc_bottom_standoffs": "true", "sbc_highlight": "false", "sbc_information": "false", @@ -5050,6 +5083,7 @@ "pcb_loc_y": "0", "pcb_loc_z": "0", "raise_top": "0", + "rear_io_plate": "false", "sbc_bottom_standoffs": "true", "sbc_highlight": "false", "sbc_information": "false", @@ -5198,6 +5232,7 @@ "pcb_loc_y": "0", "pcb_loc_z": "0", "raise_top": "0", + "rear_io_plate": "false", "sbc_bottom_standoffs": "true", "sbc_highlight": "false", "sbc_information": "false", @@ -5346,6 +5381,7 @@ "pcb_loc_y": "0", "pcb_loc_z": "0", "raise_top": "0", + "rear_io_plate": "false", "sbc_bottom_standoffs": "true", "sbc_highlight": "false", "sbc_information": "false", @@ -5494,6 +5530,7 @@ "pcb_loc_y": "0", "pcb_loc_z": "0", "raise_top": "0", + "rear_io_plate": "false", "sbc_bottom_standoffs": "true", "sbc_highlight": "false", "sbc_information": "false", @@ -5642,6 +5679,7 @@ "pcb_loc_y": "0", "pcb_loc_z": "0", "raise_top": "0", + "rear_io_plate": "false", "sbc_bottom_standoffs": "true", "sbc_highlight": "false", "sbc_information": "false", @@ -5790,6 +5828,7 @@ "pcb_loc_y": "0", "pcb_loc_z": "0", "raise_top": "0", + "rear_io_plate": "false", "sbc_bottom_standoffs": "true", "sbc_highlight": "false", "sbc_information": "false", @@ -5938,6 +5977,7 @@ "pcb_loc_y": "0", "pcb_loc_z": "0", "raise_top": "0", + "rear_io_plate": "false", "sbc_bottom_standoffs": "true", "sbc_highlight": "false", "sbc_information": "false", @@ -6086,6 +6126,7 @@ "pcb_loc_y": "0", "pcb_loc_z": "0", "raise_top": "0", + "rear_io_plate": "false", "sbc_bottom_standoffs": "true", "sbc_highlight": "false", "sbc_information": "false", @@ -6234,6 +6275,7 @@ "pcb_loc_y": "0", "pcb_loc_z": "0", "raise_top": "0", + "rear_io_plate": "false", "sbc_bottom_standoffs": "true", "sbc_highlight": "false", "sbc_information": "false", @@ -6382,6 +6424,7 @@ "pcb_loc_y": "0", "pcb_loc_z": "0", "raise_top": "0", + "rear_io_plate": "false", "sbc_bottom_standoffs": "true", "sbc_highlight": "false", "sbc_information": "false", @@ -6530,6 +6573,7 @@ "pcb_loc_y": "0", "pcb_loc_z": "0", "raise_top": "0", + "rear_io_plate": "false", "sbc_bottom_standoffs": "true", "sbc_highlight": "false", "sbc_information": "false", @@ -6678,6 +6722,7 @@ "pcb_loc_y": "0", "pcb_loc_z": "0", "raise_top": "0", + "rear_io_plate": "false", "sbc_bottom_standoffs": "true", "sbc_highlight": "false", "sbc_information": "false", @@ -6826,6 +6871,7 @@ "pcb_loc_y": "0", "pcb_loc_z": "0", "raise_top": "0", + "rear_io_plate": "false", "sbc_bottom_standoffs": "true", "sbc_highlight": "false", "sbc_information": "false", @@ -6974,6 +7020,7 @@ "pcb_loc_y": "0", "pcb_loc_z": "0", "raise_top": "0", + "rear_io_plate": "false", "sbc_bottom_standoffs": "true", "sbc_highlight": "false", "sbc_information": "false", @@ -7122,6 +7169,7 @@ "pcb_loc_y": "0", "pcb_loc_z": "0", "raise_top": "0", + "rear_io_plate": "false", "sbc_bottom_standoffs": "true", "sbc_highlight": "false", "sbc_information": "false", @@ -7270,6 +7318,7 @@ "pcb_loc_y": "0", "pcb_loc_z": "0", "raise_top": "0", + "rear_io_plate": "false", "sbc_bottom_standoffs": "true", "sbc_highlight": "false", "sbc_information": "false", @@ -7418,6 +7467,7 @@ "pcb_loc_y": "0", "pcb_loc_z": "0", "raise_top": "0", + "rear_io_plate": "false", "sbc_bottom_standoffs": "true", "sbc_highlight": "false", "sbc_information": "false", @@ -7566,6 +7616,7 @@ "pcb_loc_y": "0", "pcb_loc_z": "0", "raise_top": "0", + "rear_io_plate": "false", "sbc_bottom_standoffs": "true", "sbc_highlight": "false", "sbc_information": "false", @@ -7714,6 +7765,7 @@ "pcb_loc_y": "0", "pcb_loc_z": "0", "raise_top": "0", + "rear_io_plate": "false", "sbc_bottom_standoffs": "true", "sbc_highlight": "false", "sbc_information": "false", @@ -7862,6 +7914,7 @@ "pcb_loc_y": "0", "pcb_loc_z": "0", "raise_top": "0", + "rear_io_plate": "false", "sbc_bottom_standoffs": "true", "sbc_highlight": "false", "sbc_information": "false", @@ -8010,6 +8063,7 @@ "pcb_loc_y": "0", "pcb_loc_z": "0", "raise_top": "0", + "rear_io_plate": "false", "sbc_bottom_standoffs": "true", "sbc_highlight": "false", "sbc_information": "false", @@ -8158,6 +8212,7 @@ "pcb_loc_y": "0", "pcb_loc_z": "0", "raise_top": "0", + "rear_io_plate": "false", "sbc_bottom_standoffs": "true", "sbc_highlight": "false", "sbc_information": "false", @@ -8306,6 +8361,7 @@ "pcb_loc_y": "0", "pcb_loc_z": "0", "raise_top": "0", + "rear_io_plate": "false", "sbc_bottom_standoffs": "true", "sbc_highlight": "false", "sbc_information": "false", @@ -8343,6 +8399,450 @@ "uart_opening": "default", "view": "model", "wallthick": "2" + }, + "mini-itx_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": "hex_8mm", + "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_support_height": "4", + "bottom_standoff_support_size": "10", + "bottom_standoff_type": "countersunk", + "case_design": "shell", + "case_offset_bz": "0", + "case_offset_tz": "0", + "case_offset_x": "15", + "case_offset_y": "13", + "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": "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_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": "15", + "pcb_loc_y": "0", + "pcb_loc_z": "0", + "raise_top": "0", + "rear_io_plate": "true", + "sbc_bottom_standoffs": "true", + "sbc_highlight": "false", + "sbc_information": "false", + "sbc_model": "mini-itx", + "sbc_off": "false", + "sbc_top_standoffs": "true", + "sidethick": "1.5", + "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": "false", + "top_front_left_support": "front", + "top_front_right_adjust": "0", + "top_front_right_enable": "false", + "top_front_right_support": "front", + "top_rear_left_adjust": "0", + "top_rear_left_enable": "false", + "top_rear_left_support": "rear", + "top_rear_right_adjust": "0", + "top_rear_right_enable": "true", + "top_rear_right_support": "right", + "top_sidewall_support": "true", + "top_standoff_diameter": "6.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_support_height": "4", + "top_standoff_support_size": "10", + "top_standoff_type": "blind", + "uart_opening": "default", + "view": "model", + "wallthick": "2" + }, + "mini-stx_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": "hex_8mm", + "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_support_height": "4", + "bottom_standoff_support_size": "10", + "bottom_standoff_type": "countersunk", + "case_design": "shell", + "case_offset_bz": "0", + "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_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_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": "0", + "pcb_loc_y": "0", + "pcb_loc_z": "0", + "raise_top": "0", + "rear_io_plate": "true", + "sbc_bottom_standoffs": "true", + "sbc_highlight": "false", + "sbc_information": "false", + "sbc_model": "mini-stx", + "sbc_off": "false", + "sbc_top_standoffs": "true", + "sidethick": "1.5", + "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": "false", + "top_front_left_support": "front", + "top_front_right_adjust": "0", + "top_front_right_enable": "false", + "top_front_right_support": "front", + "top_rear_left_adjust": "0", + "top_rear_left_enable": "false", + "top_rear_left_support": "rear", + "top_rear_right_adjust": "0", + "top_rear_right_enable": "true", + "top_rear_right_support": "right", + "top_sidewall_support": "true", + "top_standoff_diameter": "6.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_support_height": "4", + "top_standoff_support_size": "10", + "top_standoff_type": "blind", + "uart_opening": "default", + "view": "model", + "wallthick": "2" + }, + "adapter_mini-stx_m1s": { + "$fn": "90", + "access_panel_location": "[-5, 27]", + "access_panel_orientation": "landscape", + "access_panel_rotation": "0", + "access_panel_size": "[90, 30]", + "accessory_highlight": "false", + "accessory_name": "adapter_mini-stx_m1s", + "adj": "0.01", + "bend_allowance": "1", + "bottom_access_panel_enable": "true", + "bottom_clearence": "3.5", + "bottom_cover_pattern": "hex_8mm", + "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_support_height": "4", + "bottom_standoff_support_size": "10", + "bottom_standoff_type": "countersunk", + "case_design": "adapter_mini-stx", + "case_offset_bz": "0", + "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_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_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": "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_plate": "true", + "sbc_bottom_standoffs": "true", + "sbc_highlight": "false", + "sbc_information": "false", + "sbc_model": "m1s", + "sbc_off": "false", + "sbc_top_standoffs": "true", + "sidethick": "1.5", + "text_color": "Green", + "text_font": "Nimbus Mono PS", + "tol": "0.25", + "top_cover_pattern": "solid", + "top_front_left_adjust": "0", + "top_front_left_enable": "false", + "top_front_left_support": "front", + "top_front_right_adjust": "0", + "top_front_right_enable": "false", + "top_front_right_support": "front", + "top_rear_left_adjust": "0", + "top_rear_left_enable": "false", + "top_rear_left_support": "rear", + "top_rear_right_adjust": "0", + "top_rear_right_enable": "true", + "top_rear_right_support": "right", + "top_sidewall_support": "true", + "top_standoff_diameter": "6.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_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 7a56a6a..94526ce 100644 --- a/sbc_case_builder.scad +++ b/sbc_case_builder.scad @@ -27,7 +27,7 @@ include <./sbc_case_builder_accessories.cfg>; /* [View] */ // viewing mode "model", "platter", "part" view = "model"; // [model, platter, part] -individual_part = "bottom"; // [top, bottom, right, left, front, rear, io_panel, accessories] +individual_part = "bottom"; // [top, bottom, right, left, front, rear, io_plate, 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", "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", "atx", "micro-atx", "dtx", "flex-atx", "mini-dtx", "mini-itx", "mini-stx", "nano-itx", "nuc", "pico-itx"] @@ -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_atx,adapter_micro-atx,adapter_dtx,adapter_flex-atx,adapter_mini-dtx,adapter_mini-itx] +case_design = "shell"; // [shell,panel,stacked,tray,tray_sides,tray_vu5,tray_vu7,round,hex,snap,fitted,paper_split-top,paper_full-top,adapter_atx,adapter_micro-atx,adapter_dtx,adapter_flex-atx,adapter_mini-dtx,adapter_mini-itx,adapter_mini-stx] // raises top mm in model view or < 0 = off raise_top = 0; // [-1:100] @@ -254,8 +254,10 @@ ext_bottom_front_right_support = "front"; //[none,left,rear,front,right] /* [Accessories and Options] */ +// rear io plate opening for standard form motherboards +rear_io_plate = false; // case accessory group to load -accessory_name = "none"; // ["none", "hk_uart", "sensors", "c4_shell_boombox", "c4_desktop_lcd3.5", "c4_deskboom_lcd3.5", "c4_panel_boombox", "c4_panel_lcd3.5", "c4_tray_boombox", "c4_round", "c4_hex", "xu4_keyhole", "hc4_tray_drivebox2.5", "hc4_shell_drivebox2.5", "hc4_shell_drivebox2.5v", "hc4_shell_drivebox3.5", "m1s_shell_nvme", "m1s_shell_ups", "m1s_tray_nvme", "m1_tray_ssd", "m1_fitted_drivebox2.5", "m1_fitted_drivebox3.5", "m1_fitted_pizzabox", "m1_fitted_drivebox3.5v", "h3_shell", "h3_tallboy-ssd", "h3_shell_router", "h3_shell_router-ssd", "h3_lowboy", "h3_lowboy_router", "h3_tray_router", "h3_router_station", "h3_ultimate", "h3_ultimate2", "h3_shell_drivebox2.5v", "show2_shell", "jetsonnano_shell", "jetsonnano_panel", "jetsonnano_stacked", "jetsonnano_tray", "jetsonnano_tray_sides", "rock5b", "visonfive2_shell", "visonfive2_stacked", "visonfive2_tray"] +accessory_name = "none"; // ["none", "hk_uart", "sensors", "c4_shell_boombox", "c4_desktop_lcd3.5", "c4_deskboom_lcd3.5", "c4_panel_boombox", "c4_panel_lcd3.5", "c4_tray_boombox", "c4_round", "c4_hex", "xu4_keyhole", "hc4_tray_drivebox2.5", "hc4_shell_drivebox2.5", "hc4_shell_drivebox2.5v", "hc4_shell_drivebox3.5", "m1s_shell_nvme", "m1s_shell_ups", "m1s_tray_nvme", "m1_tray_ssd", "m1_fitted_drivebox2.5", "m1_fitted_drivebox3.5", "m1_fitted_pizzabox", "m1_fitted_drivebox3.5v", "h3_shell", "h3_tallboy-ssd", "h3_shell_router", "h3_shell_router-ssd", "h3_lowboy", "h3_lowboy_router", "h3_tray_router", "h3_router_station", "h3_ultimate", "h3_ultimate2", "h3_shell_drivebox2.5v", "show2_shell", "jetsonnano_shell", "jetsonnano_panel", "jetsonnano_stacked", "jetsonnano_tray", "jetsonnano_tray_sides", "rock5b", "visionfive2_shell", "visionfive2_stacked", "visionfive2_tray",adapter_mini-stx_m1s] text_color = "Green"; // [Green, Black, Dimgrey, White, Yellow, Orange, Red, DarkbBlue] text_font = "Nimbus Mono PS"; // [Nimbus Mono PS, Liberation Mono, Noto Sans Mono] @@ -381,6 +383,10 @@ 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" || case_design == "adapter_flex-atx" || case_design == "adapter_mini-dtx" || case_design == "adapter_dtx" || case_design == "adapter_micro-atx" || case_design == "adapter_atx") { + color("dimgrey",1) case_adapter(case_design); + color("dimgrey",1) translate([-180, 0, 4]) rotate([270,0,0]) io_plate(); + } // ui access panel if(bottom_access_panel_enable == true) { if(access_panel_rotation == 0) { @@ -437,10 +443,6 @@ if (view == "platter") { if(case_design == "paper_split-top" || case_design == "paper_full-top") { case_folded(case_design); } - if(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") { - color("dimgrey",1) case_adapter(case_design); - color("dimgrey",1) translate([-180, 0, 4]) rotate([270,0,0]) io_panel(); - } if(case_design == "tray" || case_design == "tray_vu5" || case_design == "tray_vu7" || case_design == "tray_sides") { echo(Case_Width=width+2*sidethick,Depth=depth,Top=top_height,Bottom=bottom_height); } @@ -694,13 +696,18 @@ if (view == "model") { } } } - if(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") { + if(case_design == "adapter_mini-stx" || 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") { color("dimgrey",1) case_adapter(case_design); if(sbc_off == false) { translate([pcb_loc_x ,pcb_loc_y,bottom_height-pcb_z+pcb_loc_z]) sbc(sbc_model, cooling, fan_size, gpio_opening, uart_opening, false); } - color("dimgrey",1) translate([-8.79,-4.5,-2]) io_panel(); + if(case_design == "adapter_mini-stx") { + color("dimgrey",1) translate([-1.2,-4.5,-2]) io_plate(); + } + else { + color("dimgrey",1) translate([-10.79,-4.5,-2]) io_plate(); + } } // ui access panel if(bottom_access_panel_enable == true) { @@ -797,7 +804,7 @@ if (view == "part") { } } if(individual_part == "bottom") { - if(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") { + if(case_design == "adapter_mini-stx" || 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_adapter(case_design); } else { @@ -834,9 +841,9 @@ if (view == "part") { case_side(case_design,"left"); } } - if(individual_part == "io_panel") { - if(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") { - translate([0, 0, 4]) rotate([270,0,0]) io_panel(); + if(individual_part == "io_plate") { + if(case_design == "adapter_mini-stx" || 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") { + translate([0, 0, 4]) rotate([270,0,0]) io_plate(); } } if(individual_part == "accessories") { diff --git a/sbc_case_builder_accessories.cfg b/sbc_case_builder_accessories.cfg index afdb56d..919fb47 100644 --- a/sbc_case_builder_accessories.cfg +++ b/sbc_case_builder_accessories.cfg @@ -596,7 +596,7 @@ accessory_data = [ // StarFive - ["visonfive2_shell", + ["visionfive2_shell", "sub","rectangle",89,9.25,11,"top",[0,0,0],["case",true,true,false],[10,10,15],[[1,1,1,1]],[false,10,2,"default"], "add1","round",11.25,-.5,12,"top",[0,0,0],["case",true,true,true],[2,0,17],[0],[false,10,2,"default"], "add1","round",29.75,-.5,12,"top",[0,0,0],["case",true,true,true],[3,0,17],[0],[false,10,2,"default"], @@ -604,15 +604,22 @@ accessory_data = [ "add1","round",60.875,-.5,12,"top",[0,0,0],["case",true,true,true],[3,0,17],[0],[false,10,2,"default"], "add1","round",81.125,-.5,12,"top",[0,0,0],["case",true,true,true],[3,0,17],[0],[false,10,2,"default"]], - ["visonfive2_stacked", + ["visionfive2_stacked", "sub","rectangle",89,9.25,11,"top",[0,0,0],["case",true,true,false],[10,10,15],[[1,1,1,1]],[false,10,2,"default"]], - ["visonfive2_tray", + ["visionfive2_tray", "add1","round",11.25,-.5,9,"bottom",[0,0,0],["case",true,true,true],[2,0,17],[0],[false,10,2,"default"], "add1","round",29.75,-.5,9,"bottom",[0,0,0],["case",true,true,true],[3,0,17],[0],[false,10,2,"default"], "add1","round",50,-.5,9,"bottom",[0,0,0],["case",true,true,true],[3,0,17],[0],[false,10,2,"default"], "add1","round",60.875,-.5,9,"bottom",[0,0,0],["case",true,true,true],[3,0,17],[0],[false,10,2,"default"], - "add1","round",81.125,-.5,9,"bottom",[0,0,0],["case",true,true,true],[3,0,17],[0],[false,10,2,"default"]] - + "add1","round",81.125,-.5,9,"bottom",[0,0,0],["case",true,true,true],[3,0,17],[0],[false,10,2,"default"]], + + + ["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"], + "model","hk_m1s_ups",2,97,5,"bottom",[0,0,0],["sbc",false,false,false],[0,0,0],[0],[true,110,2,"default"]], ];