work on parametrics for drive(s), fan and case size, other gui and misc work

This commit is contained in:
Edward Kisiel
2025-04-07 17:33:32 -04:00
parent 6f26ab2f04
commit a032839b3b
6 changed files with 70 additions and 52 deletions

View File

@@ -65,10 +65,10 @@ module case_bottom(case_design) {
if(case_design == "panel_nas") {
union() {
translate([-gap,-gap,0])
cube([width-(2*wallthick)+(101.6-width+(2*wallthick)),depth-(2*wallthick),floorthick]);
translate([(width*(1/5))-8-(wallthick+gap),depth-(2*wallthick)-gap-adj,0])
cube([width-(2*wallthick)+(101.6-width+(2*wallthick)),depth-(3*wallthick),floorthick]);
translate([(width*(1/5))-8-(wallthick+gap),depth-(3*wallthick)-gap-adj,0])
cube([8,wallthick+2*adj,floorthick]);
translate([width-(width*(1/5))-(wallthick+gap),depth-(2*wallthick)-gap-adj,0])
translate([width-(width*(1/5))-(wallthick+gap),depth-(3*wallthick)-gap-adj,0])
cube([8,wallthick+2*adj,floorthick]);
translate([(width*(1/5))-8-(wallthick+gap),-wallthick-gap+adj,0])
cube([8,wallthick+2*adj,floorthick]);

View File

@@ -26,9 +26,6 @@
module case_side(case_design, side) {
hd_space = 36;
hd_height = 40;
difference() {
union() {
if(case_design == "panel") {
@@ -168,8 +165,14 @@ module case_side(case_design, side) {
cube([8.5,wallthick+2*adj,floorthick+.5]);
translate([width-(width*(1/5))-(wallthick+gap)-.25,-wallthick-gap-adj,-.25])
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(hd_fan == 1 || hd_fan == 2) {
translate([-1+(101.6-hd_fan_size)/2,-1,bottom_height+pcb_tmaxz+hd_fan_position])
rotate([90,0,0]) fan_mask(hd_fan_size, wallthick+2, hd_cooling);
}
if(hd_fan == 2) {
translate([-1+(101.6-hd_fan_size)/2,-1,bottom_height+pcb_tmaxz+hd_fan_position+3+hd_fan_size])
rotate([90,0,0]) fan_mask(hd_fan_size, wallthick+2, hd_cooling);
}
}
}
if(side == "front") {
@@ -208,8 +211,8 @@ module case_side(case_design, side) {
cube([8.5,wallthick+2*adj,floorthick+.5]);
translate([width-(width*(1/5))-(wallthick+gap)-.25,
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");
translate([-gap+8,depth-4*(wallthick)-gap,case_z-8]) rotate([-90,0,0])
vent_hex((width)/3.5,(case_z-8)/6,wallthick+4,5,1.5,"horizontal");
}
}
if(side == "right") {
@@ -223,8 +226,8 @@ module case_side(case_design, side) {
translate([width-(2*wallthick)-gap-adj+(101.6-width+(2*wallthick)),depth-2*(wallthick)-gap-.25,
((case_z)/2)])
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])
for( i=[0:1:hd_bays-1]) {
translate([-gap,-(3*wallthick)-gap+hd_y_position,hd_z_position+(hd_space+27.1)*i])
rotate([0,0,0]) hd_holes(3.5, "portrait", "both", sidethick+2);
}
}
@@ -240,8 +243,8 @@ module case_side(case_design, side) {
translate([-wallthick-gap-adj,depth-2*(wallthick)-gap-.25,
((case_z)/2)])
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])
for( i=[0:1:hd_bays-1]) {
translate([-gap,-(3*wallthick)-gap+hd_y_position,hd_z_position+(hd_space+27.1)*i])
rotate([0,0,0]) hd_holes(3.5, "portrait", "both", sidethick+2);
}
}

View File

@@ -330,7 +330,8 @@ module case_top(case_design) {
pcbhole_pos = sbc_data[s[0]][i+10][4];
case_z = case_design == "fitted" || case_design == "tray_sides" ||
case_design == "tray_vu5" || case_design == "tray_vu7" ? case_z+floorthick :
case_design == "snap" ? case_z+(2 * floorthick) : case_z;
case_design == "snap" ? case_z+(2 * floorthick) :
case_design == "panel_nas" ? case_z-floorthick : case_z;
if (class == "pcbhole" && id == 0 && pcbhole_pos == "left_rear" &&
top_rear_left_enable == true && top_standoff[6] != "blind") {
@@ -376,7 +377,8 @@ module case_top(case_design) {
pcbhole_pos = sbc_data[s[0]][i+10][4];
case_z = case_design == "fitted" || case_design == "tray_sides" ||
case_design == "tray_vu5" || case_design == "tray_vu7" ? case_z+floorthick :
case_design == "snap" ? case_z+(2 * floorthick) : case_z;
case_design == "snap" ? case_z+(2 * floorthick) :
case_design == "panel_nas" ? case_z-floorthick : case_z;
if(id == pcbid && id != 0 && pcbclass == "pcbhole") {
if (pcbclass == "pcbhole" && pcbhole_pos == "left_rear" &&
@@ -413,7 +415,8 @@ module case_top(case_design) {
case_z = case_design == "fitted" || case_design == "tray_sides" ||
case_design == "tray_vu5" || case_design == "tray_vu7" ? case_z+floorthick :
case_design == "snap" ? case_z+(2 * floorthick) : case_z;
case_design == "snap" ? case_z+(2 * floorthick) :
case_design == "panel_nas" ? case_z-floorthick : case_z;
// right-rear standoff
if((width-pcb_loc_x-pcb_width-(gap+2*wallthick) >= ext_top_standoff_support_size ||
@@ -507,7 +510,8 @@ module case_top(case_design) {
pcbhole_pos = sbc_data[s[0]][i+10][4];
case_z = case_design == "fitted" || case_design == "tray_sides" ||
case_design == "tray_vu5" || case_design == "tray_vu7" ? case_z+floorthick :
case_design == "snap" ? case_z+(2 * floorthick) : case_z;
case_design == "snap" ? case_z+(2 * floorthick) :
case_design == "panel_nas" ? case_z-floorthick : case_z;
stand_off_adj = case_design == "fitted" || case_design == "tray_sides" ||
case_design == "tray_vu5" || case_design == "tray_vu7" ? floorthick :
case_design == "snap" ? 2 * floorthick : 0;
@@ -608,7 +612,8 @@ module case_top(case_design) {
pcbhole_pos = sbc_data[s[0]][i+10][4];
case_z = case_design == "fitted" || case_design == "tray_sides" ||
case_design == "tray_vu5" || case_design == "tray_vu7" ? case_z+floorthick :
case_design == "snap" ? case_z+(2 * floorthick) : case_z;
case_design == "snap" ? case_z+(2 * floorthick) :
case_design == "panel_nas" ? case_z-floorthick : case_z;
stand_off_adj = case_design == "fitted" || case_design == "tray_sides" ||
case_design == "tray_vu5" || case_design == "tray_vu7" ? floorthick :
case_design == "snap" ? 2 * floorthick : 0;
@@ -696,7 +701,8 @@ module case_top(case_design) {
case_z = case_design == "fitted" || case_design == "tray_sides" ||
case_design == "tray_vu5" || case_design == "tray_vu7" ? case_z+floorthick :
case_design == "snap" ? case_z+(2 * floorthick) : case_z;
case_design == "snap" ? case_z+(2 * floorthick) :
case_design == "panel_nas" ? case_z-floorthick : case_z;
stand_off_adj = case_design == "fitted" || case_design == "tray_sides" ||
case_design == "tray_vu5" || case_design == "tray_vu7" ? floorthick :
case_design == "snap" ? 2 * floorthick : 0;