diff --git a/mod/case_bottom.scad b/mod/case_bottom.scad index e38f4de..bcb891f 100644 --- a/mod/case_bottom.scad +++ b/mod/case_bottom.scad @@ -64,15 +64,15 @@ module case_bottom(case_design) { } if(case_design == "panel_nas") { union() { - translate([-gap,-2*wallthick,0]) - cube([width-2*(gap+sidethick),depth-wallthick,wallthick]); - #translate([-gap-sidethick+(2*adj),depth-(3*wallthick)-gap-adj-20,0]) + translate([-gap,-wallthick,0]) + cube([width-2*(gap+sidethick),depth-(2*wallthick),wallthick]); + translate([-gap-sidethick-(2*adj),depth-(3*wallthick)-gap-adj-20,0]) cube([sidethick+(2*adj),10,floorthick]); - #translate([width-(3*sidethick)-adj,depth-(3*wallthick)-gap-adj-20,0]) + translate([width-(3*sidethick)-adj,depth-(3*wallthick)-gap-adj-20,0]) cube([sidethick+2*adj,10,floorthick]); - #translate([-gap-sidethick+(2*adj),40-wallthick-gap+adj,0]) + translate([-gap-sidethick-(2*adj),40-wallthick-gap+adj,0]) cube([sidethick+2*adj,10,floorthick]); - #translate([width-(3*sidethick)-adj,40-wallthick-gap+adj,0]) + translate([width-(3*sidethick)-adj,40-wallthick-gap+adj,0]) cube([sidethick+2*adj,10,floorthick]); } } diff --git a/mod/case_side.scad b/mod/case_side.scad index 0ce74d7..809fe02 100644 --- a/mod/case_side.scad +++ b/mod/case_side.scad @@ -132,8 +132,8 @@ module case_side(case_design, side) { if(side == "rear") { difference() { union() { - translate([-gap,-(2*wallthick),floorthick]) - cube([width-2*sidethick,wallthick,case_z-2*wallthick]); + translate([-gap,-(2*wallthick),0]) + cube([width-2*sidethick,wallthick,case_z-wallthick]); // bottom right tab translate([width-(3*sidethick)-adj,-(2*wallthick),20]) cube([sidethick+(2*adj),wallthick,10]); @@ -182,8 +182,8 @@ module case_side(case_design, side) { } if(side == "right") { difference() { - translate([width-2*sidethick,-(3*wallthick)-gap,-wallthick]) - rotate([0,-90,0]) slab([case_z+(2*wallthick),depth+2*wallthick,sidethick],corner_fillet); + translate([width-2*sidethick,-(3*wallthick)-gap,-2*wallthick]) + rotate([0,-90,0]) slab([case_z+(3*wallthick),depth+2*wallthick,sidethick],corner_fillet); // rear edge top tab openings translate([width-adj-(3*sidethick),-2*wallthick,case_z-30]) cube([sidethick+2*adj,wallthick+tol,20]); @@ -211,26 +211,40 @@ module case_side(case_design, side) { rotate([0,0,0]) hd_holes(3.5, "portrait", "both", sidethick+2); } - // top edge front tab openings + // top edge front tab opening translate([width-(3*sidethick)-adj,depth-(3*wallthick)-gap-adj-30, case_z-(2*floorthick)]) cube([sidethick+(2*adj),20,floorthick+tol]); - translate([width-(3*sidethick)-adj,depth-(3*wallthick)-gap-adj-30, + translate([width-(3*sidethick)-adj,depth-(3*wallthick)-gap-adj-30-tol, case_z-(2*floorthick)]) cube([sidethick+2*adj,10+tol,(3*floorthick)+adj]); - // top edge rear tab openings + + // top edge rear tab opening translate([width-(3*sidethick)-adj,40-wallthick-gap+adj, case_z-(2*floorthick)]) cube([sidethick+(2*adj),10,floorthick+tol]); - translate([width-(3*sidethick)-adj,30-wallthick-gap+adj, + translate([width-(3*sidethick)-adj,30-wallthick-gap+adj-tol, case_z-(2*floorthick)]) cube([sidethick+(2*adj),10+tol,(3*floorthick)+adj]); + + // bottom edge front tab opening + translate([width-(3*sidethick)-adj,depth-(3*wallthick)-gap-adj-30-tol,-tol]) + cube([sidethick+2*adj,20+tol,floorthick+tol]); + translate([width-(3*sidethick)-adj,depth-(3*wallthick)-gap-adj-30-tol,-(3*floorthick)+adj]) + cube([sidethick+2*adj,10+tol,(3*floorthick)+adj]); + + // bottom edge rear tab opening + translate([width-(3*sidethick)-adj,30-wallthick-gap+adj-tol,-tol]) + cube([sidethick+2*adj,20+tol,floorthick+tol]); + translate([width-(3*sidethick)-adj,30-wallthick-gap+adj-tol,-(3*floorthick)+adj]) + cube([sidethick+(2*adj),10+tol,(3*floorthick)+adj]); + } } if(side == "left") { difference() { - translate([-gap,-(3*wallthick)-gap,-wallthick]) - rotate([0,-90,0]) slab([case_z+(2*wallthick),depth+(2*wallthick),sidethick],corner_fillet); + translate([-gap,-(3*wallthick)-gap,-2*wallthick]) + rotate([0,-90,0]) slab([case_z+(3*wallthick),depth+(2*wallthick),sidethick],corner_fillet); // rear edge top tab openings translate([-sidethick-gap-adj,-2*wallthick,case_z-30]) cube([sidethick+2*adj,wallthick+tol,20]); @@ -262,17 +276,29 @@ module case_side(case_design, side) { translate([-gap-sidethick-adj,depth-(3*wallthick)-gap-adj-30, case_z-(2*floorthick)]) cube([sidethick+(2*adj),20,floorthick+tol]); - translate([-gap-sidethick-adj,depth-(3*wallthick)-gap-adj-30, + translate([-gap-sidethick-adj,depth-(3*wallthick)-gap-adj-30-tol, case_z-(2*floorthick)]) cube([sidethick+(2*adj),10+tol,(3*floorthick)+adj]); // top edge rear tab openings translate([-gap-sidethick-adj,40-wallthick-gap+adj, case_z-(2*floorthick)]) cube([sidethick+(2*adj),10,floorthick+tol]); - translate([-gap-sidethick-adj,30-wallthick-gap+adj, + translate([-gap-sidethick-adj,30-wallthick-gap+adj-tol, case_z-(2*floorthick)]) cube([sidethick+(2*adj),10+tol,(3*floorthick)+adj]); + // bottom edge front tab openings + translate([-gap-sidethick-adj,depth-(3*wallthick)-gap-adj-30,-tol]) + cube([sidethick+(2*adj),20,floorthick+tol]); + translate([-gap-sidethick-adj,depth-(3*wallthick)-gap-adj-30-tol,-(2*floorthick)-adj]) + cube([sidethick+(2*adj),10+tol,(3*floorthick)+adj]); + + // bottom edge rear tab openings + translate([-gap-sidethick-adj,30-wallthick-gap+adj,-tol]) + cube([sidethick+(2*adj),20,floorthick+tol]); + translate([-gap-sidethick-adj,30-wallthick-gap+adj-tol,-(2*floorthick)-adj]) + cube([sidethick+(2*adj),10+tol,(3*floorthick)+adj]); + } } } diff --git a/sbc_case_builder.json b/sbc_case_builder.json index 9162578..f5d2288 100644 --- a/sbc_case_builder.json +++ b/sbc_case_builder.json @@ -9748,7 +9748,7 @@ "multipcb_top_standoffs": "false", "nas_sbc_location": "top", "pcb_loc_x": "8", - "pcb_loc_y": "0", + "pcb_loc_y": "1", "pcb_loc_z": "0", "raise_top": "0", "rear_cooling": "fan_hex", diff --git a/sbc_case_builder.scad b/sbc_case_builder.scad index ecb595e..7941791 100644 --- a/sbc_case_builder.scad +++ b/sbc_case_builder.scad @@ -644,7 +644,7 @@ if (view == "model") { } if(case_design == "panel_nas") { if(lower_bottom >= 0) { - color("dimgrey",1) translate([0,0,-lower_bottom]) case_bottom(case_design); + color("grey",1) translate([0,0,-lower_bottom]) case_bottom(case_design); } if(raise_top >= 0) { color("grey",1) translate([0,0,raise_top])case_top(case_design); @@ -1042,7 +1042,7 @@ if(case_design == "tray" || case_design == "tray_vu5" || case_design == "tray_vu } else { if(case_design == "panel_nas") { - echo(width=width+(101.6-width+(2*sidethick)),depth=depth,top=top_height,bottom=bottom_height, height=case_z+(2*wallthick)); + echo(width=width+(101.6-width+(2*sidethick)),depth=depth,top=top_height,bottom=bottom_height, height=case_z+(3*wallthick)); } else { echo(width=width,depth=depth,top=top_height,bottom=bottom_height);