more wip for panel_nas case

This commit is contained in:
Edward Kisiel
2025-04-06 19:06:29 -04:00
parent cd2e77acc9
commit 6f26ab2f04
4 changed files with 47 additions and 25 deletions

View File

@@ -26,6 +26,9 @@
module case_side(case_design, side) { module case_side(case_design, side) {
hd_space = 36;
hd_height = 40;
difference() { difference() {
union() { union() {
if(case_design == "panel") { if(case_design == "panel") {
@@ -132,14 +135,14 @@ module case_side(case_design, side) {
if(side == "rear") { if(side == "rear") {
difference() { difference() {
union() { union() {
translate([-gap,-wallthick-gap,-floorthick]) translate([-gap,-wallthick-gap,floorthick])
cube([width-2*wallthick+(101.6-width+(2*(wallthick+gap))),wallthick,case_z+2*floorthick]); cube([width-2*wallthick+(101.6-width+(2*wallthick)),wallthick,case_z-2*floorthick]);
// right hook // right hook
difference() { difference() {
translate([width-(2*wallthick)-gap-adj,-wallthick-gap, translate([width-(2*wallthick)-gap-adj+(101.6-width+(2*wallthick)),-wallthick-gap,
((case_z)/2)-4]) ((case_z)/2)-4])
cube([(2*wallthick)+.5,wallthick,8]); cube([(2*wallthick)+.5,wallthick,8]);
translate([width-(2*wallthick)-gap-adj,-wallthick-gap-adj, translate([width-(2*wallthick)-gap-adj+(101.6-width+(2*wallthick)),-wallthick-gap-adj,
((case_z)/2)-4-adj]) ((case_z)/2)-4-adj])
cube([wallthick+.25,wallthick+(2*adj),4.25]); cube([wallthick+.25,wallthick+(2*adj),4.25]);
} }
@@ -165,28 +168,30 @@ module case_side(case_design, side) {
cube([8.5,wallthick+2*adj,floorthick+.5]); cube([8.5,wallthick+2*adj,floorthick+.5]);
translate([width-(width*(1/5))-(wallthick+gap)-.25,-wallthick-gap-adj,-.25]) translate([width-(width*(1/5))-(wallthick+gap)-.25,-wallthick-gap-adj,-.25])
cube([8.5,wallthick+2*adj,floorthick+.5]); cube([8.5,wallthick+2*adj,floorthick+.5]);
translate([(101.6-80)/2,-1,bottom_height+98]) rotate([90,0,0]) fan_mask(80, wallthick+2, "fan_hex");
translate([(101.6-80)/2,-1,bottom_height+17]) rotate([90,0,0]) fan_mask(80, wallthick+2, "fan_hex");
} }
} }
if(side == "front") { if(side == "front") {
difference() { difference() {
union() { union() {
translate([-gap,depth-2*(wallthick)-gap,-floorthick]) translate([-gap,depth-4*(wallthick)-gap,floorthick])
cube([width-2*wallthick+(101.6-width+(2*(wallthick+gap))),wallthick,case_z+2*floorthick]); cube([width-2*wallthick+(101.6-width+(2*wallthick)),wallthick,case_z-2*wallthick]);
// right hook // right hook
difference() { difference() {
translate([width-(2*wallthick)-gap-adj,depth-2*(wallthick)-gap-adj, translate([width-(2*wallthick)-gap-adj+(101.6-width+(2*wallthick)),depth-3*(wallthick)-gap-adj,
((case_z)/2)-4]) ((case_z)/2)-4])
cube([(2*wallthick)+.5,wallthick,8]); cube([(2*wallthick)+.5,wallthick,8]);
translate([width-(2*wallthick)-gap-adj, translate([width-(2*wallthick)-gap-adj+(101.6-width+(2*wallthick)),
depth-2*(wallthick)-adj-gap-adj,((case_z)/2)-4-adj]) depth-3*(wallthick)-adj-gap-adj,((case_z)/2)-4-adj])
cube([wallthick+.25,wallthick+(2*adj),4.25]); cube([wallthick+.25,wallthick+(2*adj),4.25]);
} }
// left hook // left hook
difference() { difference() {
translate([-(2*wallthick)-gap-adj-.25,depth-2*(wallthick)-gap-adj,( translate([-(2*wallthick)-gap-adj-.25,depth-3*(wallthick)-gap-adj,(
(case_z)/2)-4]) (case_z)/2)-4])
cube([(2*wallthick)+.5,wallthick,8]); cube([(2*wallthick)+.5,wallthick,8]);
translate([-wallthick-gap-adj-.25,depth-2*(wallthick)-adj-gap-adj, translate([-wallthick-gap-adj-.25,depth-3*(wallthick)-adj-gap-adj,
((case_z)/2)-4-adj]) ((case_z)/2)-4-adj])
cube([wallthick+.25,wallthick+(2*adj),4.25]); cube([wallthick+.25,wallthick+(2*adj),4.25]);
} }
@@ -203,28 +208,42 @@ module case_side(case_design, side) {
cube([8.5,wallthick+2*adj,floorthick+.5]); cube([8.5,wallthick+2*adj,floorthick+.5]);
translate([width-(width*(1/5))-(wallthick+gap)-.25, translate([width-(width*(1/5))-(wallthick+gap)-.25,
depth-2*wallthick-gap-adj,-.25]) cube([8.5,wallthick+2*adj,floorthick+.5]); depth-2*wallthick-gap-adj,-.25]) cube([8.5,wallthick+2*adj,floorthick+.5]);
translate([-gap+6,depth-4*(wallthick)-gap,case_z-6]) rotate([-90,0,0])
vent_hex((width)/3.5,(depth)/7,wallthick+4,5,1.5,"horizontal");
} }
} }
if(side == "right") { if(side == "right") {
difference() { difference() {
translate([width-(2*wallthick)-gap+(101.6-width+(2*wallthick)),-(2*wallthick)-gap,-wallthick]) // translate([width-(2*wallthick)-gap+(101.6-width+(2*wallthick)),-(3*wallthick)-gap,-wallthick])
cube([wallthick,depth+2*wallthick,case_z+(2*wallthick)]); // cube([wallthick,depth+2*wallthick,case_z+(2*wallthick)]);
translate([width-(2*wallthick)-gap-adj,-wallthick-gap-.25, translate([width-gap+(101.6-width+sidethick),-(3*wallthick)-gap,-wallthick])
rotate([0,-90,0]) slab([case_z+(2*wallthick),depth+2*wallthick,sidethick],corner_fillet);
translate([width-(2*wallthick)-gap-adj+(101.6-width+(2*wallthick)),-wallthick-gap-.25,
((case_z)/2)]) cube([wallthick+2*adj,wallthick+.5,8.5]); ((case_z)/2)]) cube([wallthick+2*adj,wallthick+.5,8.5]);
translate([width-(2*wallthick)-gap-adj,depth-2*(wallthick)-gap-.25, translate([width-(2*wallthick)-gap-adj+(101.6-width+(2*wallthick)),depth-2*(wallthick)-gap-.25,
((case_z)/2)]) ((case_z)/2)])
cube([wallthick+2*adj,wallthick+.5,8.5]); cube([wallthick+2*adj,wallthick+.5,8.5]);
for( i=[0:1:nas_bays-1]) {
translate([-gap,-(3*wallthick)-gap+78.25,hd_height+hd_space*i])
rotate([0,0,0]) hd_holes(3.5, "portrait", "both", sidethick+2);
}
} }
} }
if(side == "left") { if(side == "left") {
difference() { difference() {
translate([-wallthick-gap,-(2*wallthick)-gap,-wallthick]) // translate([-sidethick-gap,-(2*wallthick)-gap,-wallthick])
cube([wallthick,depth+2*wallthick,case_z+(2*wallthick)]); // cube([wallthick,depth+2*wallthick,case_z+(2*wallthick)]);
translate([-gap,-(3*wallthick)-gap,-wallthick])
rotate([0,-90,0]) slab([case_z+(2*wallthick),depth+2*wallthick,sidethick],corner_fillet);
translate([-wallthick-gap-adj,-wallthick-gap-.25,((case_z)/2)]) translate([-wallthick-gap-adj,-wallthick-gap-.25,((case_z)/2)])
cube([wallthick+2*adj,wallthick+.5,8.5]); cube([wallthick+2*adj,wallthick+.5,8.5]);
translate([-wallthick-gap-adj,depth-2*(wallthick)-gap-.25, translate([-wallthick-gap-adj,depth-2*(wallthick)-gap-.25,
((case_z)/2)]) ((case_z)/2)])
cube([wallthick+2*adj,wallthick+.5,8.5]); cube([wallthick+2*adj,wallthick+.5,8.5]);
for( i=[0:1:nas_bays-1]) {
translate([-gap,-(3*wallthick)-gap+78.25,hd_height+hd_space*i])
rotate([0,0,0]) hd_holes(3.5, "portrait", "both", sidethick+2);
}
} }
} }
} }

View File

@@ -72,9 +72,9 @@ module case_top(case_design) {
} }
if(case_design == "panel_nas") { if(case_design == "panel_nas") {
union() { union() {
translate([-gap,-gap,case_z-floorthick]) translate([-gap,-gap,case_z-2*wallthick])
cube([width-(2*wallthick)+(101.6-width+(2*wallthick)),depth-(2*wallthick),floorthick]); cube([width-(2*wallthick)+(101.6-width+(2*wallthick)),depth-(3*wallthick),wallthick]);
translate([(width*(1/5))-8-(wallthick+gap),depth-(2*wallthick)-gap-adj, /* translate([(width*(1/5))-8-(wallthick+gap),depth-(2*wallthick)-gap-adj,
case_z-floorthick]) case_z-floorthick])
cube([8,wallthick+2*adj,floorthick]); cube([8,wallthick+2*adj,floorthick]);
translate([width-(width*(1/5))-(wallthick+gap),depth-(2*wallthick)-gap-adj, translate([width-(width*(1/5))-(wallthick+gap),depth-(2*wallthick)-gap-adj,
@@ -86,7 +86,7 @@ module case_top(case_design) {
translate([width-(width*(1/5))-(wallthick+gap),-wallthick-gap+adj, translate([width-(width*(1/5))-(wallthick+gap),-wallthick-gap+adj,
case_z-floorthick]) case_z-floorthick])
cube([8,wallthick+2*adj,floorthick]); cube([8,wallthick+2*adj,floorthick]);
} */ }
} }
if(case_design == "stacked") { if(case_design == "stacked") {
translate([(width/2)-wallthick-gap,(depth/2)-wallthick-gap, translate([(width/2)-wallthick-gap,(depth/2)-wallthick-gap,

View File

@@ -9623,11 +9623,11 @@
"bottom_standoff_type": "countersunk", "bottom_standoff_type": "countersunk",
"case_design": "panel_nas", "case_design": "panel_nas",
"case_offset_bz": "0", "case_offset_bz": "0",
"case_offset_tz": "171", "case_offset_tz": "165",
"case_offset_x": "0", "case_offset_x": "0",
"case_offset_y": "138", "case_offset_y": "138",
"cooling": "default", "cooling": "default",
"corner_fillet": "3", "corner_fillet": "9",
"edge_fillet": "0", "edge_fillet": "0",
"ext_bottom_front_left_adjust": "0", "ext_bottom_front_left_adjust": "0",
"ext_bottom_front_left_enable": "true", "ext_bottom_front_left_enable": "true",
@@ -9755,7 +9755,7 @@
"sbc_model": "m2", "sbc_model": "m2",
"sbc_off": "false", "sbc_off": "false",
"sbc_top_standoffs": "false", "sbc_top_standoffs": "false",
"sidethick": "2", "sidethick": "3",
"standard_motherboard_thickness": "0", "standard_motherboard_thickness": "0",
"text_color": "Green", "text_color": "Green",
"text_font": "Nimbus Mono PS", "text_font": "Nimbus Mono PS",

View File

@@ -493,7 +493,10 @@ accessory_data = [
// NAS Case // NAS Case
["nas", ["nas",
"model","hd35",-1,-67,200,"bottom",[0,0,0],["case",true,true,false],[0,0,0],["portrait"],[true,20,2,"both"]], "model","hd35",-1,-67,148,"bottom",[0,0,0],["case",true,true,false],[0,0,0],["portrait"],[true,20,2,"both"],
"model","hd35",-1,-67,112,"bottom",[0,0,0],["case",true,true,false],[0,0,0],["portrait"],[true,20,2,"both"],
"model","hd35",-1,-67,76,"bottom",[0,0,0],["case",true,true,false],[0,0,0],["portrait"],[true,20,2,"both"],
"model","hd35",-1,-67,40,"bottom",[0,0,0],["case",true,true,false],[0,0,0],["portrait"],[true,20,2,"both"]],
// circuitsetup solar energy meter // circuitsetup solar energy meter
["cs_solarmeter", ["cs_solarmeter",