more case panel fastening work

This commit is contained in:
Edward Kisiel
2025-04-12 15:08:07 -04:00
parent a999585197
commit 3ce75a345b
4 changed files with 47 additions and 21 deletions

View File

@@ -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]);
}
}

View File

@@ -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]);
}
}
}

View File

@@ -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",

View File

@@ -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);