diff --git a/SBC_Model_Framework b/SBC_Model_Framework index 8489bf8..ac78803 160000 --- a/SBC_Model_Framework +++ b/SBC_Model_Framework @@ -1 +1 @@ -Subproject commit 8489bf8c0f1afef2f787630eb0e3e834c4df518c +Subproject commit ac78803b8a0321c52360b684ed45716e5ebfb5f1 diff --git a/mod/case_bottom.scad b/mod/case_bottom.scad index 0f0e373..990f51e 100644 --- a/mod/case_bottom.scad +++ b/mod/case_bottom.scad @@ -91,7 +91,8 @@ module case_bottom(case_design) { pcbhole_pos = sbc_data[s[0]][i+10][4]; if(class == "pcbhole" && id == pcb_id && pcbhole_pos == "left_rear") { - if((pcbhole_y <= 10 && pcbhole_x <= 10) || (ext_bottom_standoffs == true && ext_bottom_rear_left_enable == true)) { + if((pcbhole_y <= 10 && pcbhole_x <= 10) || + (ext_bottom_standoffs == true && ext_bottom_rear_left_enable == true)) { translate([-adj-gap,wallthick+gap+10,floorthick+3.4]) rotate([90,0,90]) cylinder(d=10, h=4, $fn=6); } @@ -101,7 +102,8 @@ module case_bottom(case_design) { } } if(class == "pcbhole" && id == pcb_id && pcbhole_pos == "left_front") { - if((pcbhole_y >= pcb_depth+case_offset_y-10 && pcbhole_x <= 10) || (ext_bottom_standoffs == true && ext_bottom_front_left_enable == true)) { + if((pcbhole_y >= pcb_depth+case_offset_y-10 && pcbhole_x <= 10) || + (ext_bottom_standoffs == true && ext_bottom_front_left_enable == true)) { translate([-adj-gap,wallthick-gap+pcb_depth+case_offset_y-14,floorthick+3.4]) rotate([90,0,90]) cylinder(d=10, h=4, $fn=6); } @@ -111,7 +113,8 @@ module case_bottom(case_design) { } } if(class == "pcbhole" && id == pcb_id && pcbhole_pos == "right_rear") { - if((pcbhole_y <= 10 && pcbhole_x >= pcb_width-10) || (ext_bottom_standoffs == true && ext_bottom_rear_right_enable == true)) { + if((pcbhole_y <= 10 && pcbhole_x >= pcb_width-10) || (ext_bottom_standoffs == true && + ext_bottom_rear_right_enable == true)) { translate([width-wallthick-gap-wallthick-4+adj,wallthick+gap+10,floorthick+3.4]) rotate([90,0,90]) cylinder(d=10, h=4, $fn=6); } @@ -121,7 +124,8 @@ module case_bottom(case_design) { } } if(class == "pcbhole" && id == pcb_id && pcbhole_pos == "right_front") { - if((pcbhole_y >= pcb_depth+case_offset_y-10 && pcbhole_x >= width-10) || (ext_bottom_standoffs == true && ext_bottom_front_right_enable == true)) { + if((pcbhole_y >= pcb_depth+case_offset_y-10 && pcbhole_x >= width-10) || + (ext_bottom_standoffs == true && ext_bottom_front_right_enable == true)) { translate([width-wallthick-gap-wallthick-4+adj,wallthick-gap+pcb_depth+case_offset_y-14,floorthick+3.4]) rotate([90,0,90]) cylinder(d=10, h=4, $fn=6); } @@ -424,17 +428,25 @@ echo(pcb_depth+case_offset_y-10); pcbhole_state = sbc_data[s[0]][i+10][0]; pcbhole_pos = sbc_data[s[0]][i+10][4]; if(id == pcbid && id != 0 && pcbclass == "pcbhole") { - if (pcbclass == "pcbhole" && pcbhole_pos == "left_rear" && multipcb_bottom_rear_left_enable == true && (pcbhole_state == "bottom" || pcbhole_state == "both")) { - translate([pcbhole_x,pcbhole_y,-1]) cylinder(d=multipcb_bottom_standoff[4]-.2, h=bottom_height); + if (pcbclass == "pcbhole" && pcbhole_pos == "left_rear" && + multipcb_bottom_rear_left_enable == true && + (pcbhole_state == "bottom" || pcbhole_state == "both")) { + translate([pcbhole_x,pcbhole_y,-1]) cylinder(d=multipcb_bottom_standoff[4]-.2, h=bottom_height); } - if (pcbclass == "pcbhole" && pcbhole_pos == "left_front" && multipcb_bottom_front_left_enable == true && (pcbhole_state == "bottom" || pcbhole_state == "both")) { - translate([pcbhole_x,pcbhole_y,-1]) cylinder(d=multipcb_bottom_standoff[4]-.2, h=bottom_height); + if (pcbclass == "pcbhole" && pcbhole_pos == "left_front" && + multipcb_bottom_front_left_enable == true && + (pcbhole_state == "bottom" || pcbhole_state == "both")) { + translate([pcbhole_x,pcbhole_y,-1]) cylinder(d=multipcb_bottom_standoff[4]-.2, h=bottom_height); } - if (pcbclass == "pcbhole" && pcbhole_pos == "right_rear" && multipcb_bottom_rear_right_enable == true && (pcbhole_state == "bottom" || pcbhole_state == "both")) { - translate([pcbhole_x,pcbhole_y,-1]) cylinder(d=multipcb_bottom_standoff[4]-.2, h=bottom_height); + if (pcbclass == "pcbhole" && pcbhole_pos == "right_rear" && + multipcb_bottom_rear_right_enable == true && + (pcbhole_state == "bottom" || pcbhole_state == "both")) { + translate([pcbhole_x,pcbhole_y,-1]) cylinder(d=multipcb_bottom_standoff[4]-.2, h=bottom_height); } - if (pcbclass == "pcbhole" && pcbhole_pos == "right_front" && multipcb_bottom_front_right_enable == true && (pcbhole_state == "bottom" || pcbhole_state == "both")) { - translate([pcbhole_x,pcbhole_y,-1]) cylinder(d=multipcb_bottom_standoff[4]-.2, h=bottom_height); + if (pcbclass == "pcbhole" && pcbhole_pos == "right_front" && + multipcb_bottom_front_right_enable == true && + (pcbhole_state == "bottom" || pcbhole_state == "both")) { + translate([pcbhole_x,pcbhole_y,-1]) cylinder(d=multipcb_bottom_standoff[4]-.2, h=bottom_height); } } } @@ -444,32 +456,42 @@ echo(pcb_depth+case_offset_y-10); // extended standoff holes if(ext_bottom_standoffs == true) { // right-rear standoff - if(((width-pcb_loc_x-pcb_width-(gap+2*wallthick) >= 10 || pcb_loc_y >= 10)) && + if(((width-pcb_loc_x-pcb_width-(gap+2*wallthick) >= ext_bottom_standoff_support_size + || pcb_loc_y >= ext_bottom_standoff_support_size)) && 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[4]-.2, h=bottom_height); + translate([width-ext_bottom_standoff_support_size/4-(2*(wallthick+gap)), + 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[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]) + if(((width-pcb_loc_x-pcb_width-(gap+2*wallthick) >= ext_bottom_standoff_support_size && + depth-pcb_loc_y-pcb_depth >= ext_bottom_standoff_support_size) || + (width-pcb_loc_x-pcb_width-(gap+2*wallthick) >= ext_bottom_standoff_support_size && + depth-pcb_loc_y-pcb_depth <= ext_bottom_standoff_support_size) || + (width-pcb_loc_x-pcb_width-(gap+2*wallthick) <= ext_bottom_standoff_support_size && + depth-pcb_loc_y-pcb_depth >= ext_bottom_standoff_support_size)) && + ext_bottom_front_right_enable == true && ext_bottom_standoff[6] != "blind") { + translate([width-ext_bottom_standoff_support_size/4-(2*(wallthick+gap)), + depth-ext_bottom_standoff_support_size/4-(2*(wallthick+gap)),-1]) 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[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[4]-.2, h=bottom_height); + if((pcb_loc_x >= ext_bottom_standoff_support_size || pcb_loc_y >= ext_bottom_standoff_support_size) && + ext_bottom_rear_left_enable == true && ext_bottom_standoff[6] != "blind") { + translate([ext_bottom_standoff_support_size/4, + 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[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]) + if(((pcb_loc_x >= ext_bottom_standoff_support_size && + (depth-(pcb_loc_y+pcb_depth)) >= ext_bottom_standoff_support_size) || + (pcb_loc_x <= ext_bottom_standoff_support_size && + (depth-(pcb_loc_y+pcb_depth)) >= ext_bottom_standoff_support_size) || + (pcb_loc_x >= ext_bottom_standoff_support_size && + (depth-(pcb_loc_y+pcb_depth)) <= ext_bottom_standoff_support_size)) && + ext_bottom_front_left_enable == true && ext_bottom_standoff[6] != "blind") { + translate([ext_bottom_standoff_support_size/4, + depth-(ext_bottom_standoff_support_size/4)-(2*(wallthick+gap)),-1]) cylinder(d=ext_bottom_standoff[4]-.2, h=bottom_height); } } @@ -617,7 +639,8 @@ echo(pcb_depth+case_offset_y-10); pcbhole_pos = sbc_data[s[0]][i+10][4]; if(pcbclass == "pcbhole" && pcbid == id && id != 0) { - if (pcbhole_pos == "left_rear" && multipcb_bottom_rear_left_enable == true && (pcbhole_state == "bottom" || pcbhole_state == "both")) { + if (pcbhole_pos == "left_rear" && multipcb_bottom_rear_left_enable == true && + (pcbhole_state == "bottom" || pcbhole_state == "both")) { bottom_support = multipcb_bottom_sidewall_support == true ? multipcb_bottom_rear_left_support : "none"; pcb_standoff = [multipcb_bottom_standoff[0], multipcb_bottom_standoff[1], @@ -634,7 +657,8 @@ echo(pcb_depth+case_offset_y-10); multipcb_bottom_standoff[12]]; translate([pcbhole_x,pcbhole_y,0]) standoff(pcb_standoff,[false,10,2,"default"]); } - if (pcbhole_pos == "left_front" && multipcb_bottom_front_left_enable == true && (pcbhole_state == "bottom" || pcbhole_state == "both")) { + if (pcbhole_pos == "left_front" && multipcb_bottom_front_left_enable == true && + (pcbhole_state == "bottom" || pcbhole_state == "both")) { bottom_support = multipcb_bottom_sidewall_support == true ? multipcb_bottom_front_left_support : "none"; pcb_standoff = [multipcb_bottom_standoff[0], multipcb_bottom_standoff[1], @@ -651,7 +675,8 @@ echo(pcb_depth+case_offset_y-10); multipcb_bottom_standoff[12]]; translate([pcbhole_x,pcbhole_y,0]) standoff(pcb_standoff,[false,10,2,"default"]); } - if (pcbhole_pos == "right_rear" && multipcb_bottom_rear_right_enable == true && (pcbhole_state == "bottom" || pcbhole_state == "both")) { + if (pcbhole_pos == "right_rear" && multipcb_bottom_rear_right_enable == true && + (pcbhole_state == "bottom" || pcbhole_state == "both")) { bottom_support = multipcb_bottom_sidewall_support == true ? multipcb_bottom_rear_right_support : "none"; pcb_standoff = [multipcb_bottom_standoff[0], multipcb_bottom_standoff[1], @@ -668,7 +693,8 @@ echo(pcb_depth+case_offset_y-10); multipcb_bottom_standoff[12]]; translate([pcbhole_x,pcbhole_y,0]) standoff(pcb_standoff,[false,10,2,"default"]); } - if (pcbhole_pos == "right_front" && multipcb_bottom_front_right_enable == true && (pcbhole_state == "bottom" || pcbhole_state == "both")) { + if (pcbhole_pos == "right_front" && multipcb_bottom_front_right_enable == true && + (pcbhole_state == "bottom" || pcbhole_state == "both")) { bottom_support = multipcb_bottom_sidewall_support == true ? multipcb_bottom_front_right_support : "none"; pcb_standoff = [multipcb_bottom_standoff[0], multipcb_bottom_standoff[1], @@ -693,7 +719,8 @@ echo(pcb_depth+case_offset_y-10); // extended standoffs 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) { + if((width-pcb_loc_x-pcb_width-(gap+2*wallthick) >= ext_bottom_standoff_support_size || + pcb_loc_y >= ext_bottom_standoff_support_size) && ext_bottom_rear_right_enable == true) { extended_standoff = [ext_bottom_standoff[0], ext_bottom_standoff[1], bottom_height+ext_bottom_rear_right_adjust, @@ -707,14 +734,18 @@ echo(pcb_depth+case_offset_y-10); ext_bottom_standoff[10], 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(extended_standoff,[false,10,2,"default"]); + translate([width-ext_bottom_standoff_support_size/4-(2*(wallthick+gap)), + ext_bottom_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) { + if(((width-pcb_loc_x-pcb_width-(gap+2*wallthick) >= ext_bottom_standoff_support_size && + depth-pcb_loc_y-pcb_depth >= ext_bottom_standoff_support_size) || + (width-pcb_loc_x-pcb_width-(gap+2*wallthick) >= ext_bottom_standoff_support_size && + depth-pcb_loc_y-pcb_depth <= ext_bottom_standoff_support_size) || + (width-pcb_loc_x-pcb_width-(gap+2*wallthick) <= ext_bottom_standoff_support_size && + depth-pcb_loc_y-pcb_depth >= ext_bottom_standoff_support_size)) && + ext_bottom_front_right_enable == true) { extended_standoff = [ext_bottom_standoff[0], ext_bottom_standoff[1], bottom_height+ext_bottom_front_right_adjust, @@ -728,11 +759,13 @@ echo(pcb_depth+case_offset_y-10); ext_bottom_standoff[10], 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(extended_standoff,[false,10,2,"default"]); + translate([width-ext_bottom_standoff_support_size/4-(2*(wallthick+gap)), + depth-ext_bottom_standoff_support_size/4-(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) { + if((pcb_loc_x >= ext_bottom_standoff_support_size || pcb_loc_y >= ext_bottom_standoff_support_size) + && ext_bottom_rear_left_enable == true) { extended_standoff = [ext_bottom_standoff[0], ext_bottom_standoff[1], bottom_height+ext_bottom_rear_left_adjust, @@ -746,14 +779,17 @@ echo(pcb_depth+case_offset_y-10); ext_bottom_standoff[10], 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(extended_standoff,[false,10,2,"default"]); + translate([ext_bottom_standoff_support_size/4, ext_bottom_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) { + if(((pcb_loc_x >= ext_bottom_standoff_support_size && + depth-(pcb_loc_y+pcb_depth) >= ext_bottom_standoff_support_size) || + (pcb_loc_x <= ext_bottom_standoff_support_size && + depth-(pcb_loc_y+pcb_depth) >= ext_bottom_standoff_support_size) || + (pcb_loc_x >= ext_bottom_standoff_support_size && + depth-(pcb_loc_y+pcb_depth) <= ext_bottom_standoff_support_size)) && + ext_bottom_front_left_enable == true) { extended_standoff = [ext_bottom_standoff[0], ext_bottom_standoff[1], bottom_height+ext_bottom_front_left_adjust, @@ -767,8 +803,8 @@ echo(pcb_depth+case_offset_y-10); ext_bottom_standoff[10], 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]) + translate([ext_bottom_standoff_support_size/4, + depth-(ext_bottom_standoff_support_size/4)-(2*(wallthick+gap)),0]) standoff(extended_standoff,[false,10,2,"default"]); } } @@ -825,7 +861,8 @@ echo(pcb_depth+case_offset_y-10); 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]) + 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) { diff --git a/mod/case_top.scad b/mod/case_top.scad index bee5e0b..afb160d 100644 --- a/mod/case_top.scad +++ b/mod/case_top.scad @@ -104,7 +104,8 @@ module case_top(case_design) { pcbhole_pos = sbc_data[s[0]][i+10][4]; if(class == "pcbhole" && id == pcb_id && pcbhole_pos == "left_rear") { - if((pcbhole_y <= 10 && pcbhole_x <= 10) || (ext_top_standoffs == true && ext_top_rear_left_enable == true)) { + if((pcbhole_y <= 10 && pcbhole_x <= 10) || (ext_top_standoffs == true && + ext_top_rear_left_enable == true)) { translate([-wallthick-gap-adj-6,wallthick+gap+10,floorthick+3.4]) rotate([0,90,0]) cylinder(d=3, h=10+sidethick+(2*adj)); } @@ -114,7 +115,8 @@ module case_top(case_design) { } } if(class == "pcbhole" && id == pcb_id && pcbhole_pos == "left_front") { - if((pcbhole_y >= pcb_depth+case_offset_y-10 && pcbhole_x <= 10) || (ext_top_standoffs == true && ext_top_front_left_enable == true)) { + if((pcbhole_y >= pcb_depth+case_offset_y-10 && pcbhole_x <= 10) || + (ext_top_standoffs == true && ext_top_front_left_enable == true)) { translate([-wallthick-gap-adj-6,wallthick-gap+pcb_depth+case_offset_y-14, floorthick+3.4]) rotate([0,90,0]) cylinder(d=3, h=10+sidethick+(2*adj)); } @@ -124,7 +126,8 @@ module case_top(case_design) { } } if(class == "pcbhole" && id == pcb_id && pcbhole_pos == "right_rear") { - if((pcbhole_y <= 10 && pcbhole_x >= pcb_width-10) || (ext_top_standoffs == true && ext_top_rear_right_enable == true)) { + if((pcbhole_y <= 10 && pcbhole_x >= pcb_width-10) || (ext_top_standoffs == true && + ext_top_rear_right_enable == true)) { translate([width-2*(wallthick+gap)-sidethick-adj,wallthick+gap+10,floorthick+3.4]) rotate([0,90,0]) cylinder(d=3, h=10+sidethick+(2*adj)); } @@ -134,7 +137,8 @@ module case_top(case_design) { } } if(class == "pcbhole" && id == pcb_id && pcbhole_pos == "right_front") { - if((pcbhole_y >= pcb_depth+case_offset_y-10 && pcbhole_x >= width-10) || (ext_bottom_standoffs == true && ext_bottom_front_right_enable == true)) { + if((pcbhole_y >= pcb_depth+case_offset_y-10 && pcbhole_x >= width-10) || + (ext_bottom_standoffs == true && ext_bottom_front_right_enable == true)) { translate([width-3*(wallthick+gap)-adj,wallthick-gap+pcb_depth+case_offset_y-14, floorthick+3.4]) rotate([0,90,0]) cylinder(d=3, h=10+sidethick+(2*adj)); } @@ -307,20 +311,20 @@ module case_top(case_design) { pcbhole_size = sbc_data[s[0]][i+9][0]; pcbhole_pos = sbc_data[s[0]][i+10][4]; - if (class == "pcbhole" && id == 0 && pcbhole_pos == "left_rear" && top_rear_left_enable == true && - top_standoff[6] != "blind") { + if (class == "pcbhole" && id == 0 && pcbhole_pos == "left_rear" && + top_rear_left_enable == true && 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 == 0 && pcbhole_pos == "left_front" && top_front_left_enable == true && - top_standoff[6] != "blind") { + if (class == "pcbhole" && id == 0 && pcbhole_pos == "left_front" && + top_front_left_enable == true && 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 == 0 && pcbhole_pos == "right_rear" && top_rear_right_enable == true && - top_standoff[6] != "blind") { + if (class == "pcbhole" && id == 0 && pcbhole_pos == "right_rear" && + top_rear_right_enable == true && 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 == 0 && pcbhole_pos == "right_front" && top_front_right_enable == true && - top_standoff[6] != "blind") { + if (class == "pcbhole" && id == 0 && pcbhole_pos == "right_front" && + top_front_right_enable == true && top_standoff[6] != "blind") { translate([pcbhole_x,pcbhole_y,top_height+5]) cylinder(d=top_standoff[4]-.2, h=top_height); } } @@ -346,17 +350,29 @@ module case_top(case_design) { pcbhole_state = sbc_data[s[0]][i+10][0]; pcbhole_pos = sbc_data[s[0]][i+10][4]; if(id == pcbid && id != 0 && pcbclass == "pcbhole") { - if (pcbclass == "pcbhole" && pcbhole_pos == "left_rear" && multipcb_top_rear_left_enable == true && (pcbhole_state == "top" || pcbhole_state == "both")) { - translate([pcbhole_x,pcbhole_y,top_height]) cylinder(d=multipcb_top_standoff[4]-.2, h=top_height); + if (pcbclass == "pcbhole" && pcbhole_pos == "left_rear" && + multipcb_top_rear_left_enable == true && + (pcbhole_state == "top" || pcbhole_state == "both")) { + translate([pcbhole_x,pcbhole_y,top_height]) + cylinder(d=multipcb_top_standoff[4]-.2, h=top_height); } - if (pcbclass == "pcbhole" && pcbhole_pos == "left_front" && multipcb_top_front_left_enable == true && (pcbhole_state == "top" || pcbhole_state == "both")) { - translate([pcbhole_x,pcbhole_y,top_height]) cylinder(d=multipcb_top_standoff[4]-.2, h=top_height); + if (pcbclass == "pcbhole" && pcbhole_pos == "left_front" && + multipcb_top_front_left_enable == true && + (pcbhole_state == "top" || pcbhole_state == "both")) { + translate([pcbhole_x,pcbhole_y,top_height]) + cylinder(d=multipcb_top_standoff[4]-.2, h=top_height); } - if (pcbclass == "pcbhole" && pcbhole_pos == "right_rear" && multipcb_top_rear_right_enable == true && (pcbhole_state == "top" || pcbhole_state == "both")) { - translate([pcbhole_x,pcbhole_y,top_height]) cylinder(d=multipcb_top_standoff[4]-.2, h=top_height); + if (pcbclass == "pcbhole" && pcbhole_pos == "right_rear" && + multipcb_top_rear_right_enable == true && + (pcbhole_state == "top" || pcbhole_state == "both")) { + translate([pcbhole_x,pcbhole_y,top_height]) + cylinder(d=multipcb_top_standoff[4]-.2, h=top_height); } - if (pcbclass == "pcbhole" && pcbhole_pos == "right_front" && multipcb_top_front_right_enable == true && (pcbhole_state == "top" || pcbhole_state == "both")) { - translate([pcbhole_x,pcbhole_y,top_height]) cylinder(d=multipcb_top_standoff[4]-.2, h=top_height); + if (pcbclass == "pcbhole" && pcbhole_pos == "right_front" && + multipcb_top_front_right_enable == true && + (pcbhole_state == "top" || pcbhole_state == "both")) { + translate([pcbhole_x,pcbhole_y,top_height]) + cylinder(d=multipcb_top_standoff[4]-.2, h=top_height); } } } @@ -366,32 +382,41 @@ module case_top(case_design) { // extended standoff holes if(ext_top_standoffs == true) { // right-rear standoff - if((width-pcb_loc_x-pcb_width-(gap+2*wallthick) >= 10 || pcb_loc_y >= 10) && + if((width-pcb_loc_x-pcb_width-(gap+2*wallthick) >= ext_top_standoff_support_size || + pcb_loc_y >= ext_top_standoff_support_size) && 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[4]-.2, h=top_height); + translate([width-ext_top_standoff_support_size/4-(2*(wallthick+gap)), + 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[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]) + if(((width-pcb_loc_x-pcb_width-(gap+2*wallthick) >= ext_top_standoff_support_size && + depth-pcb_loc_y-pcb_depth >= ext_top_standoff_support_size) || + (width-pcb_loc_x-pcb_width-(gap+2*wallthick) >= ext_top_standoff_support_size && + depth-pcb_loc_y-pcb_depth <= ext_top_standoff_support_size) || + (width-pcb_loc_x-pcb_width-(gap+2*wallthick) <= ext_top_standoff_support_size && + depth-pcb_loc_y-pcb_depth >= ext_top_standoff_support_size)) && + ext_top_front_right_enable == true && ext_top_standoff[6] != "blind") { + translate([width-ext_top_standoff_support_size/4-(2*(wallthick+gap)), + depth-ext_top_standoff_support_size/4-(2*(wallthick+gap)),top_height+5]) 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[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[4]-.2, h=top_height); + if((pcb_loc_x >= ext_top_standoff_support_size || pcb_loc_y >= ext_top_standoff_support_size) && + ext_top_rear_left_enable == true && ext_top_standoff[6] != "blind") { + translate([ext_top_standoff_support_size/4, 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[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]) + if(((pcb_loc_x >= ext_top_standoff_support_size && + (depth-(pcb_loc_y+pcb_depth)) >= ext_top_standoff_support_size) || + (pcb_loc_x <= ext_top_standoff_support_size && + (depth-(pcb_loc_y+pcb_depth)) >= ext_top_standoff_support_size) || + (pcb_loc_x >= ext_top_standoff_support_size && + (depth-(pcb_loc_y+pcb_depth)) <= ext_top_standoff_support_size)) && + ext_top_front_left_enable == true && ext_top_standoff[6] != "blind") { + translate([ext_top_standoff_support_size/4, + depth-ext_top_standoff_support_size/4-(2*(wallthick+gap)),top_height+5]) cylinder(d=ext_top_standoff[4]-.2, h=top_height); } } @@ -404,10 +429,12 @@ module case_top(case_design) { translate([1,2,case_z-2]) vent_hex((width)/5.5,(depth)/9.5,floorthick+4,8,1.5,"horizontal"); } if(top_cover_pattern == "linear_vertical") { - translate([0,-gap,case_z-2]) vent(wallthick,depth-2*wallthick-gap,floorthick+4,1,1,(width-2*wallthick-gap)/4,"horizontal"); + translate([0,-gap,case_z-2]) + vent(wallthick,depth-2*wallthick-gap,floorthick+4,1,1,(width-2*wallthick-gap)/4,"horizontal"); } if(top_cover_pattern == "linear_horizontal") { - translate([-gap,-gap,case_z-2]) vent(width-2*wallthick-gap,wallthick,floorthick+4,1,(depth-2*wallthick-gap)/3,1,"horizontal"); + translate([-gap,-gap,case_z-2]) + vent(width-2*wallthick-gap,wallthick,floorthick+4,1,(depth-2*wallthick-gap)/3,1,"horizontal"); } if(top_cover_pattern == "astroid") { for(c=[3:12:depth-8]) { @@ -445,7 +472,8 @@ module case_top(case_design) { pcbhole_size = sbc_data[s[0]][i+9][0]; pcbhole_pos = sbc_data[s[0]][i+10][4]; if(class == "pcbhole" && id == pcb_id && - (pcbhole_pos == "left_rear" || pcbhole_pos == "left_front" || pcbhole_pos == "right_rear" || pcbhole_pos == "right_front")) { + (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"; pcb_standoff = [top_standoff[0], @@ -539,7 +567,8 @@ module case_top(case_design) { pcbhole_pos = sbc_data[s[0]][i+10][4]; if(pcbclass == "pcbhole" && pcbid == id && id != 0) { - if (pcbhole_pos == "left_rear" && multipcb_top_rear_left_enable == true && (pcbhole_state == "top" || pcbhole_state == "both")) { + if (pcbhole_pos == "left_rear" && multipcb_top_rear_left_enable == true && + (pcbhole_state == "top" || pcbhole_state == "both")) { top_support = multipcb_top_sidewall_support == true ? multipcb_top_rear_left_support : "none"; pcb_standoff = [multipcb_top_standoff[0], multipcb_top_standoff[1], @@ -556,10 +585,11 @@ module case_top(case_design) { multipcb_top_standoff[12]]; translate([pcbhole_x,pcbhole_y,case_z]) standoff(pcb_standoff,[false,10,2,"default"]); } - if (pcbhole_pos == "left_front" && multipcb_top_front_left_enable == true && (pcbhole_state == "top" || pcbhole_state == "both")) { + if (pcbhole_pos == "left_front" && multipcb_top_front_left_enable == true && + (pcbhole_state == "top" || pcbhole_state == "both")) { top_support = multipcb_top_sidewall_support == true ? multipcb_top_front_left_support : "none"; pcb_standoff = [multipcb_top_standoff[0], - multipcb_bottom_standoff[1], + multipcb_top_standoff[1], top_height+top_rear_right_adjust-pcb_loc_z, multipcb_top_standoff[3], multipcb_top_standoff[4], @@ -573,7 +603,8 @@ module case_top(case_design) { multipcb_top_standoff[12]]; translate([pcbhole_x,pcbhole_y,case_z]) standoff(pcb_standoff,[false,10,2,"default"]); } - if (pcbhole_pos == "right_rear" && multipcb_top_rear_right_enable == true && (pcbhole_state == "top" || pcbhole_state == "both")) { + if (pcbhole_pos == "right_rear" && multipcb_top_rear_right_enable == true && + (pcbhole_state == "top" || pcbhole_state == "both")) { top_support = multipcb_top_sidewall_support == true ? multipcb_top_rear_right_support : "none"; pcb_standoff = [multipcb_top_standoff[0], multipcb_top_standoff[1], @@ -590,7 +621,8 @@ module case_top(case_design) { multipcb_top_standoff[12]]; translate([pcbhole_x,pcbhole_y,case_z]) standoff(pcb_standoff,[false,10,2,"default"]); } - if (pcbhole_pos == "right_front" && multipcb_top_front_right_enable == true && (pcbhole_state == "top" || pcbhole_state == "both")) { + if (pcbhole_pos == "right_front" && multipcb_top_front_right_enable == true && + (pcbhole_state == "top" || pcbhole_state == "both")) { top_support = multipcb_top_sidewall_support == true ? multipcb_top_front_right_support : "none"; pcb_standoff = [multipcb_top_standoff[0], multipcb_top_standoff[1], @@ -615,7 +647,8 @@ module case_top(case_design) { // extended standoffs 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) { + if((width-pcb_loc_x-pcb_width-(gap+2*wallthick) >= ext_top_standoff_support_size || + pcb_loc_y >= ext_top_standoff_support_size) && ext_top_rear_right_enable == true) { extended_standoff = [ext_top_standoff[0], ext_top_standoff[1], top_height+ext_top_rear_right_adjust, @@ -629,14 +662,17 @@ module case_top(case_design) { ext_top_standoff[10], 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(extended_standoff,[false,10,2,"default"]); + translate([width-ext_top_standoff_support_size/4-(2*(wallthick+gap)), + 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) { + if(((width-pcb_loc_x-pcb_width-(gap+2*wallthick) >= ext_top_standoff_support_size && + depth-pcb_loc_y-pcb_depth >= ext_top_standoff_support_size) || + (width-pcb_loc_x-pcb_width-(gap+2*wallthick) >= ext_top_standoff_support_size && + depth-pcb_loc_y-pcb_depth <= ext_top_standoff_support_size) || + (width-pcb_loc_x-pcb_width-(gap+2*wallthick) <= ext_top_standoff_support_size && + depth-pcb_loc_y-pcb_depth >= ext_top_standoff_support_size)) && + ext_top_front_right_enable == true) { extended_standoff = [ext_top_standoff[0], ext_top_standoff[1], top_height+ext_top_front_right_adjust, @@ -650,33 +686,37 @@ module case_top(case_design) { ext_top_standoff[10], 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(extended_standoff,[false,10,2,"default"]); + translate([width-ext_top_standoff_support_size/4-(2*(wallthick+gap)), + depth-ext_top_standoff_support_size/4-(2*(wallthick+gap)),case_z]) + 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) { - 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(extended_standoff,[false,10,2,"default"]); + if((pcb_loc_x >= ext_top_standoff_support_size || pcb_loc_y >= ext_top_standoff_support_size) && + ext_top_rear_left_enable == true) { + 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([ext_top_standoff_support_size/4, + 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) { + if(((pcb_loc_x >= ext_top_standoff_support_size && + (depth-(pcb_loc_y+pcb_depth)) >= ext_top_standoff_support_size) || + (pcb_loc_x <= ext_top_standoff_support_size && + (depth-(pcb_loc_y+pcb_depth)) >= ext_top_standoff_support_size) || + (pcb_loc_x >= ext_top_standoff_support_size && + depth-(pcb_loc_y+pcb_depth) <= ext_top_standoff_support_size)) && + ext_top_front_left_enable == true) { extended_standoff = [ext_top_standoff[0], ext_top_standoff[1], top_height+ext_top_front_left_adjust, @@ -690,8 +730,8 @@ module case_top(case_design) { ext_top_standoff[10], 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]) + translate([ext_top_standoff_support_size/4, + depth-ext_top_standoff_support_size/4-(2*(wallthick+gap)), case_z]) standoff(extended_standoff,[false,10,2,"default"]); } } diff --git a/sbc_case_builder.json b/sbc_case_builder.json index 9e341b5..eed605b 100644 --- a/sbc_case_builder.json +++ b/sbc_case_builder.json @@ -6956,14 +6956,14 @@ "multipcb_top_rear_right_enable": "true", "multipcb_top_rear_right_support": "rear", "multipcb_top_sidewall_support": "true", - "multipcb_top_standoff_diameter": "5.75", + "multipcb_top_standoff_diameter": "4.75", "multipcb_top_standoff_hole_size": "2.75", - "multipcb_top_standoff_insert": "false", - "multipcb_top_standoff_insert_dia": "4.2", - "multipcb_top_standoff_insert_height": "5.1", + "multipcb_top_standoff_insert": "true", + "multipcb_top_standoff_insert_dia": "3.4", + "multipcb_top_standoff_insert_height": "4", "multipcb_top_standoff_pillar": "hex", "multipcb_top_standoff_reverse": "true", - "multipcb_top_standoff_size": "m2.5", + "multipcb_top_standoff_size": "custom", "multipcb_top_standoff_support_height": "4", "multipcb_top_standoff_support_size": "8", "multipcb_top_standoff_type": "blind", @@ -7000,12 +7000,12 @@ "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_insert": "true", + "top_standoff_insert_dia": "4.4", + "top_standoff_insert_height": "4.1", "top_standoff_pillar": "hex", "top_standoff_reverse": "true", - "top_standoff_size": "m3", + "top_standoff_size": "custom", "top_standoff_support_height": "4", "top_standoff_support_size": "10", "top_standoff_type": "blind", @@ -7096,16 +7096,16 @@ "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_diameter": "4.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_insert": "true", + "ext_top_standoff_insert_dia": "3.4", + "ext_top_standoff_insert_height": "4", "ext_top_standoff_pillar": "hex", "ext_top_standoff_reverse": "true", - "ext_top_standoff_size": "m2+", + "ext_top_standoff_size": "custom", "ext_top_standoff_support_height": "4", - "ext_top_standoff_support_size": "10", + "ext_top_standoff_support_size": "7", "ext_top_standoff_type": "blind", "ext_top_standoffs": "true", "fan_size": "0", @@ -7172,16 +7172,16 @@ "multipcb_top_standoff_type": "blind", "multipcb_top_standoffs": "false", "pcb_loc_x": "0", - "pcb_loc_y": "5", + "pcb_loc_y": "7", "pcb_loc_z": "0", - "raise_top": "-1", + "raise_top": "0", "rear_io_shield": "false", "sbc_bottom_standoffs": "true", "sbc_highlight": "false", "sbc_information": "false", "sbc_model": "cnano-avr128da48", "sbc_off": "false", - "sbc_top_standoffs": "true", + "sbc_top_standoffs": "false", "sidethick": "2", "standard_motherboard_thickness": "0", "text_color": "Green", @@ -7208,7 +7208,7 @@ "top_standoff_insert_height": "4", "top_standoff_pillar": "hex", "top_standoff_reverse": "true", - "top_standoff_size": "m2", + "top_standoff_size": "m2.5", "top_standoff_support_height": "4", "top_standoff_support_size": "7", "top_standoff_type": "blind", diff --git a/sbc_case_builder_accessories.cfg b/sbc_case_builder_accessories.cfg index 6af6644..dda2e09 100644 --- a/sbc_case_builder_accessories.cfg +++ b/sbc_case_builder_accessories.cfg @@ -467,11 +467,11 @@ accessory_data = [ "model","stl_model",69,32,27,"bottom",[270,0,90],["sbc",true,true,false],[0,0,0],[1,"./adafruit/4867 Adafruit SCD30.stl"],[false,10,2,"default"], "add2","pcb_holder",69,31,0,"bottom",[0,0,90],["sbc",true,true,false],[53,35,1.65],[2],[false,10,2,"default"], // ST7789 IPS TFT Display and holder - "model","stl_model",82,25,2.5,"bottom",[90,270,270],["sbc",true,true,false],[0,0,0],[1,"./adafruit/4311 2in TFT IPS Display.stl"],[false,10,2,"default"], - "add2","pcb_holder",80.5,85,0,"bottom",[0,0,270],["sbc",true,true,false],[61,35,1.65],[2],[false,10,2,"default"], - "add2","pcb_holder",80.5,24,11.5,"top",[0,180,270],["sbc-case_z",true,true,true],[61,35,1.65],[2],[false,10,2,"default"], + "model","stl_model",82,23,2.5,"bottom",[90,270,270],["sbc",true,true,false],[0,0,0],[1,"./adafruit/4311 2in TFT IPS Display.stl"],[false,10,2,"default"], + "add2","pcb_holder",80.5,83,0,"bottom",[0,0,270],["sbc",true,true,false],[61,35,1.65],[2],[false,10,2,"default"], + "add2","pcb_holder",80.5,22,11.5,"top",[0,180,270],["sbc-case_z",true,true,true],[61,35,1.65],[2],[false,10,2,"default"], // display opening - "suball","rectangle",82,34,3,"bottom",[0,0,0],["sbc",true,true,false],[6,44,34],[[.1,.1,.1,.1]],[false,10,2,"default"], + "suball","rectangle",82,32,3,"bottom",[0,0,0],["sbc",true,true,false],[6,44,34],[[.1,.1,.1,.1]],[false,10,2,"default"], // empty "add2","pcb_holder",52,58,0,"bottom",[0,0,90],["sbc",true,true,false],[26.5,35,1.65],[2],[false,10,2,"default"], "add2","pcb_holder",52,26,0,"bottom",[0,0,90],["sbc",true,true,false],[26.5,35,1.65],[2],[false,10,2,"default"],