fixed rack bay external bottom heatsink standoff mounting support, raised case wall clamps, changed rack case to initial fixed depth of 100mm
This commit is contained in:
@@ -47,15 +47,15 @@ if(case_design == "rack" && side == "bottom") {
|
|||||||
vertical=[corner_fillet-wallthick,corner_fillet-wallthick,-wallthick,-wallthick],
|
vertical=[corner_fillet-wallthick,corner_fillet-wallthick,-wallthick,-wallthick],
|
||||||
top=[0,0,0,0], bottom=[edge_fillet,edge_fillet,edge_fillet,edge_fillet,edge_fillet], $fn=90);
|
top=[0,0,0,0], bottom=[edge_fillet,edge_fillet,edge_fillet,edge_fillet,edge_fillet], $fn=90);
|
||||||
// case upper panel clamp holes
|
// case upper panel clamp holes
|
||||||
translate([150-gap-wallthick,-gap-adj,case_z-13])
|
translate([150-gap-wallthick,-gap-adj,case_z-13+4])
|
||||||
panel_clamp("rear", "m2", "sloped", 6, 18, 5, [true,10,2,"default"]);
|
panel_clamp("rear", "m2", "sloped", 6, 18, 5, [true,10,2,"default"]);
|
||||||
translate([150-gap-wallthick,depth-gap-(2*wallthick)+adj,
|
translate([150-gap-wallthick,depth-gap-(2*wallthick)+adj,
|
||||||
case_z-13]) panel_clamp("front", "m2", "sloped", 6, 18, 5, [true,10,2,"default"]);
|
case_z-13+4]) panel_clamp("front", "m2", "sloped", 6, 18, 5, [true,10,2,"default"]);
|
||||||
if(rack_width == 19) {
|
if(rack_width == 19) {
|
||||||
translate([300-gap-wallthick,-gap-adj,case_z-13])
|
translate([300-gap-wallthick,-gap-adj,case_z-13+4])
|
||||||
panel_clamp("rear", "m2", "sloped", 6, 18, 5, [true,10,2,"default"]);
|
panel_clamp("rear", "m2", "sloped", 6, 18, 5, [true,10,2,"default"]);
|
||||||
translate([300-gap-wallthick,depth-gap-(2*wallthick)+adj,
|
translate([300-gap-wallthick,depth-gap-(2*wallthick)+adj,
|
||||||
case_z-13]) panel_clamp("front", "m2", "sloped", 6, 18, 5, [true,10,2,"default"]);
|
case_z-13+4]) panel_clamp("front", "m2", "sloped", 6, 18, 5, [true,10,2,"default"]);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -73,14 +73,14 @@ if(case_design == "rack" && side == "bottom") {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// case upper panel clamps
|
// case upper panel clamps
|
||||||
translate([150-gap-wallthick,-gap-adj,case_z-13])
|
translate([150-gap-wallthick,-gap-adj,case_z-13+4])
|
||||||
panel_clamp("rear", "m2", "sloped", 6, 18, 5, [false,10,2,"default"]);
|
panel_clamp("rear", "m2", "sloped", 6, 18, 5, [false,10,2,"default"]);
|
||||||
translate([150-gap-wallthick,depth-gap-(2*wallthick)+adj,
|
translate([150-gap-wallthick,depth-gap-(2*wallthick)+adj,
|
||||||
case_z-13]) panel_clamp("front", "m2", "sloped", 6, 18, 5, [false,10,2,"default"]);
|
case_z-13+4]) panel_clamp("front", "m2", "sloped", 6, 18, 5, [false,10,2,"default"]);
|
||||||
if(rack_width == 19) {
|
if(rack_width == 19) {
|
||||||
translate([300-gap-wallthick,depth-gap-(2*wallthick)+adj,
|
translate([300-gap-wallthick,depth-gap-(2*wallthick)+adj,
|
||||||
case_z-13]) panel_clamp("front", "m2", "sloped", 6, 18, 5, [false,10,2,"default"]);
|
case_z-13+4]) panel_clamp("front", "m2", "sloped", 6, 18, 5, [false,10,2,"default"]);
|
||||||
translate([300-gap-wallthick,-gap-adj,case_z-13])
|
translate([300-gap-wallthick,-gap-adj,case_z-13+4])
|
||||||
panel_clamp("rear", "m2", "sloped", 6, 18, 5, [false,10,2,"default"]);
|
panel_clamp("rear", "m2", "sloped", 6, 18, 5, [false,10,2,"default"]);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -141,7 +141,6 @@ if(case_design == "rack" && side == "bottom") {
|
|||||||
rack_bay_rotation[r] == 180 ? rack_bay_xyz_loc[r][0] + pcb_width : rack_bay_xyz_loc[r][0];
|
rack_bay_rotation[r] == 180 ? rack_bay_xyz_loc[r][0] + pcb_width : rack_bay_xyz_loc[r][0];
|
||||||
pcb_loc_y = rack_bay_rotation[r] == 270 ? rack_bay_xyz_loc[r][1]+pcb_width :
|
pcb_loc_y = rack_bay_rotation[r] == 270 ? rack_bay_xyz_loc[r][1]+pcb_width :
|
||||||
rack_bay_rotation[r] == 180 ? rack_bay_xyz_loc[r][1]+pcb_depth : rack_bay_xyz_loc[r][1];
|
rack_bay_rotation[r] == 180 ? rack_bay_xyz_loc[r][1]+pcb_depth : rack_bay_xyz_loc[r][1];
|
||||||
pcb_loc_z = rack_bay_xyz_loc[r][2];
|
|
||||||
|
|
||||||
translate([pcb_loc_x,pcb_loc_y,0]) rotate([0,0,rack_bay_rotation[r]]) union() {
|
translate([pcb_loc_x,pcb_loc_y,0]) rotate([0,0,rack_bay_rotation[r]]) union() {
|
||||||
// pcb standoff holes
|
// pcb standoff holes
|
||||||
@@ -158,22 +157,38 @@ if(case_design == "rack" && side == "bottom") {
|
|||||||
|
|
||||||
if (class == "pcbhole" && id == 0 && pcbhole_pos == "left_rear" &&
|
if (class == "pcbhole" && id == 0 && pcbhole_pos == "left_rear" &&
|
||||||
bottom_rear_left_enable == true && bottom_standoff[6] != "blind") {
|
bottom_rear_left_enable == true && bottom_standoff[6] != "blind") {
|
||||||
translate([pcbhole_x,pcbhole_y,-adj])
|
ahpx = rack_bay_sbc[r] == "n2" ? 7 : rack_bay_sbc[r] == "n2+" ? 9.25 :
|
||||||
cylinder(d=bottom_standoff[4]-.2, h=floorthick+(2*adj));
|
rack_bay_sbc[r] == "m1" ? 9.25 : pcbhole_x;
|
||||||
|
ahpy = rack_bay_sbc[r] == "n2" ? 15 : rack_bay_sbc[r] == "n2+" ? 9.25 :
|
||||||
|
rack_bay_sbc[r] == "m1" ? 9.25 : pcbhole_y;
|
||||||
|
translate([ahpx,ahpy,-adj])
|
||||||
|
cylinder(d=bottom_standoff[4]-.2, h=floorthick+(2*adj));
|
||||||
}
|
}
|
||||||
if (class == "pcbhole" && id == 0 && pcbhole_pos == "left_front" &&
|
if (class == "pcbhole" && id == 0 && pcbhole_pos == "left_front" &&
|
||||||
bottom_front_left_enable == true && bottom_standoff[6] != "blind") {
|
bottom_front_left_enable == true && bottom_standoff[6] != "blind") {
|
||||||
translate([pcbhole_x,pcbhole_y,-adj])
|
ahpx = rack_bay_sbc[r] == "n2" ? 8 : rack_bay_sbc[r] == "n2+" ? 9.25 :
|
||||||
cylinder(d=bottom_standoff[4]-.2, h=floorthick+(2*adj));
|
rack_bay_sbc[r] == "m1" ? 9.25 : pcbhole_x;
|
||||||
|
ahpy = rack_bay_sbc[r] == "n2" ? 75 : rack_bay_sbc[r] == "n2+" ? 80.75 :
|
||||||
|
rack_bay_sbc[r] == "m1" ? 112.75 : pcbhole_y;
|
||||||
|
translate([ahpx,ahpy,-adj])
|
||||||
|
cylinder(d=bottom_standoff[4]-.2, h=floorthick+(2*adj));
|
||||||
}
|
}
|
||||||
if (class == "pcbhole" && id == 0 && pcbhole_pos == "right_rear" &&
|
if (class == "pcbhole" && id == 0 && pcbhole_pos == "right_rear" &&
|
||||||
bottom_rear_right_enable == true && bottom_standoff[6] != "blind") {
|
bottom_rear_right_enable == true && bottom_standoff[6] != "blind") {
|
||||||
translate([pcbhole_x,pcbhole_y,-adj])
|
ahpx = rack_bay_sbc[r] == "n2" ? 82 : rack_bay_sbc[r] == "n2+" ? 80.75 :
|
||||||
cylinder(d=bottom_standoff[4]-.2, h=floorthick+(2*adj));
|
rack_bay_sbc[r] == "m1" ? 80.75 : pcbhole_x;
|
||||||
|
ahpy = rack_bay_sbc[r] == "n2" ? 6 : rack_bay_sbc[r] == "n2+" ? 9.25 :
|
||||||
|
rack_bay_sbc[r] == "m1" ? 9.25 : pcbhole_y;
|
||||||
|
translate([ahpx,ahpy,-adj])
|
||||||
|
cylinder(d=bottom_standoff[4]-.2, h=floorthick+(2*adj));
|
||||||
}
|
}
|
||||||
if (class == "pcbhole" && id == 0 && pcbhole_pos == "right_front" &&
|
if (class == "pcbhole" && id == 0 && pcbhole_pos == "right_front" &&
|
||||||
bottom_front_right_enable == true && bottom_standoff[6] != "blind") {
|
bottom_front_right_enable == true && bottom_standoff[6] != "blind") {
|
||||||
translate([pcbhole_x,pcbhole_y,-adj])
|
ahpx = rack_bay_sbc[r] == "n2" ? 82 : rack_bay_sbc[r] == "n2+" ? 80.75 :
|
||||||
|
rack_bay_sbc[r] == "m1" ? 80.75 : pcbhole_x;
|
||||||
|
ahpy = rack_bay_sbc[r] == "n2" ? 75 : rack_bay_sbc[r] == "n2+" ? 80.75 :
|
||||||
|
rack_bay_sbc[r] == "m1" ? 112.75 : pcbhole_y;
|
||||||
|
translate([ahpx,ahpy,-adj])
|
||||||
cylinder(d=bottom_standoff[4]-.2, h=floorthick+(2*adj));
|
cylinder(d=bottom_standoff[4]-.2, h=floorthick+(2*adj));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -269,17 +284,6 @@ if(case_design == "rack" && side == "bottom") {
|
|||||||
translate([300-gap-wallthick,(depth/2)-gap-wallthick,floorthick-adj-.5])
|
translate([300-gap-wallthick,(depth/2)-gap-wallthick,floorthick-adj-.5])
|
||||||
panel_clamp("bottom", "m2", "sloped", 6, 18, 5, [true,10,2,"holes"]);
|
panel_clamp("bottom", "m2", "sloped", 6, 18, 5, [true,10,2,"holes"]);
|
||||||
}
|
}
|
||||||
// case upper panel clamp holes
|
|
||||||
translate([150-gap-wallthick,-gap-adj,case_z-13])
|
|
||||||
panel_clamp("rear", "m2", "sloped", 6, 18, 5, [true,10,2,"holes"]);
|
|
||||||
translate([150-gap-wallthick,depth-gap-(2*wallthick)+adj,
|
|
||||||
case_z-13]) panel_clamp("front", "m2", "sloped", 6, 18, 5, [true,10,2,"holes"]);
|
|
||||||
if(rack_width == 19) {
|
|
||||||
translate([300-gap-wallthick,-gap-adj,case_z-13])
|
|
||||||
panel_clamp("rear", "m2", "sloped", 6, 18, 5, [true,10,2,"holes"]);
|
|
||||||
translate([300-gap-wallthick,depth-gap-(2*wallthick)+adj,
|
|
||||||
case_z-13]) panel_clamp("front", "m2", "sloped", 6, 18, 5, [true,10,2,"holes"]);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
// pcb and multi-pcb standoffs
|
// pcb and multi-pcb standoffs
|
||||||
for(r = [0:len(rack_bay_sbc)-1]) {
|
for(r = [0:len(rack_bay_sbc)-1]) {
|
||||||
@@ -298,7 +302,7 @@ if(case_design == "rack" && side == "bottom") {
|
|||||||
rack_bay_rotation[r] == 180 ? rack_bay_xyz_loc[r][0] + pcb_width : rack_bay_xyz_loc[r][0];
|
rack_bay_rotation[r] == 180 ? rack_bay_xyz_loc[r][0] + pcb_width : rack_bay_xyz_loc[r][0];
|
||||||
pcb_loc_y = rack_bay_rotation[r] == 270 ? rack_bay_xyz_loc[r][1]+pcb_width :
|
pcb_loc_y = rack_bay_rotation[r] == 270 ? rack_bay_xyz_loc[r][1]+pcb_width :
|
||||||
rack_bay_rotation[r] == 180 ? rack_bay_xyz_loc[r][1]+pcb_depth : rack_bay_xyz_loc[r][1];
|
rack_bay_rotation[r] == 180 ? rack_bay_xyz_loc[r][1]+pcb_depth : rack_bay_xyz_loc[r][1];
|
||||||
pcb_loc_z = rack_bay_sbc[r] == "n2" ? rack_bay_xyz_loc[r][2]-6 :
|
pcb_loc_z = rack_bay_sbc[r] == "n2" || rack_bay_sbc[r] == "m1" ? rack_bay_xyz_loc[r][2]-6 :
|
||||||
rack_bay_sbc[r] == "n2+" ? rack_bay_xyz_loc[r][2]-4.5 : rack_bay_xyz_loc[r][2];
|
rack_bay_sbc[r] == "n2+" ? rack_bay_xyz_loc[r][2]-4.5 : rack_bay_xyz_loc[r][2];
|
||||||
|
|
||||||
translate([pcb_loc_x,pcb_loc_y,0]) rotate([0,0,rack_bay_rotation[r]]) union() {
|
translate([pcb_loc_x,pcb_loc_y,0]) rotate([0,0,rack_bay_rotation[r]]) union() {
|
||||||
@@ -313,13 +317,14 @@ if(case_design == "rack" && side == "bottom") {
|
|||||||
pcbhole_z = sbc_data[s[0]][i+6];
|
pcbhole_z = sbc_data[s[0]][i+6];
|
||||||
pcbhole_size = sbc_data[s[0]][i+9][0];
|
pcbhole_size = sbc_data[s[0]][i+9][0];
|
||||||
pcbhole_pos = sbc_data[s[0]][i+10][4];
|
pcbhole_pos = sbc_data[s[0]][i+10][4];
|
||||||
|
pcb_bmaxz = sbc_data[s[0]][11][6];
|
||||||
|
|
||||||
if(class == "pcbhole" && id == pcb_id) {
|
if(class == "pcbhole" && id == pcb_id) {
|
||||||
if (pcbhole_pos == "left_rear" && bottom_rear_left_enable == true) {
|
if (pcbhole_pos == "left_rear" && bottom_rear_left_enable == true) {
|
||||||
bottom_support = bottom_sidewall_support == true ? bottom_rear_left_support : "none";
|
bottom_support = bottom_sidewall_support == true ? bottom_rear_left_support : "none";
|
||||||
pcb_standoff = [bottom_standoff[0],
|
pcb_standoff = [bottom_standoff[0],
|
||||||
bottom_standoff[1],
|
bottom_standoff[1],
|
||||||
bottom_height-pcb_z+pcb_loc_z+bottom_rear_left_adjust,
|
pcb_bmaxz+floorthick+case_offset_bz+pcb_loc_z+bottom_rear_left_adjust,
|
||||||
bottom_standoff[3],
|
bottom_standoff[3],
|
||||||
bottom_standoff[4],
|
bottom_standoff[4],
|
||||||
bottom_standoff[5],
|
bottom_standoff[5],
|
||||||
@@ -330,14 +335,18 @@ if(case_design == "rack" && side == "bottom") {
|
|||||||
bottom_standoff[10],
|
bottom_standoff[10],
|
||||||
bottom_standoff[11],
|
bottom_standoff[11],
|
||||||
bottom_standoff[12]];
|
bottom_standoff[12]];
|
||||||
translate([pcbhole_x,pcbhole_y,0])
|
ahpx = rack_bay_sbc[r] == "n2" ? 7 : rack_bay_sbc[r] == "n2+" ? 9.25 :
|
||||||
|
rack_bay_sbc[r] == "m1" ? 9.25 : pcbhole_x;
|
||||||
|
ahpy = rack_bay_sbc[r] == "n2" ? 15 : rack_bay_sbc[r] == "n2+" ? 9.25 :
|
||||||
|
rack_bay_sbc[r]== "m1" ? 9.25 : pcbhole_y;
|
||||||
|
translate([ahpx,ahpy,0])
|
||||||
standoff(pcb_standoff,[false,10,2,"default"]);
|
standoff(pcb_standoff,[false,10,2,"default"]);
|
||||||
}
|
}
|
||||||
if (pcbhole_pos == "left_front" && bottom_front_left_enable == true) {
|
if (pcbhole_pos == "left_front" && bottom_front_left_enable == true) {
|
||||||
bottom_support = bottom_sidewall_support == true ? bottom_front_left_support : "none";
|
bottom_support = bottom_sidewall_support == true ? bottom_front_left_support : "none";
|
||||||
pcb_standoff = [bottom_standoff[0],
|
pcb_standoff = [bottom_standoff[0],
|
||||||
bottom_standoff[1],
|
bottom_standoff[1],
|
||||||
bottom_height-pcb_z+pcb_loc_z+bottom_front_left_adjust,
|
pcb_bmaxz+floorthick+case_offset_bz+pcb_loc_z+bottom_front_left_adjust,
|
||||||
bottom_standoff[3],
|
bottom_standoff[3],
|
||||||
bottom_standoff[4],
|
bottom_standoff[4],
|
||||||
bottom_standoff[5],
|
bottom_standoff[5],
|
||||||
@@ -348,14 +357,18 @@ if(case_design == "rack" && side == "bottom") {
|
|||||||
bottom_standoff[10],
|
bottom_standoff[10],
|
||||||
bottom_standoff[11],
|
bottom_standoff[11],
|
||||||
bottom_standoff[12]];
|
bottom_standoff[12]];
|
||||||
translate([pcbhole_x,pcbhole_y,0])
|
ahpx = rack_bay_sbc[r] == "n2" ? 8 : rack_bay_sbc[r] == "n2+" ? 9.25 :
|
||||||
|
rack_bay_sbc[r] == "m1" ? 9.25 : pcbhole_x;
|
||||||
|
ahpy = rack_bay_sbc[r] == "n2" ? 75 : rack_bay_sbc[r] == "n2+" ? 80.75 :
|
||||||
|
rack_bay_sbc[r] == "m1" ? 112.75 : pcbhole_y;
|
||||||
|
translate([ahpx,ahpy,0])
|
||||||
standoff(pcb_standoff,[false,10,2,"default"]);
|
standoff(pcb_standoff,[false,10,2,"default"]);
|
||||||
}
|
}
|
||||||
if (pcbhole_pos == "right_rear" && bottom_rear_right_enable == true) {
|
if (pcbhole_pos == "right_rear" && bottom_rear_right_enable == true) {
|
||||||
bottom_support = bottom_sidewall_support == true ? bottom_rear_right_support : "none";
|
bottom_support = bottom_sidewall_support == true ? bottom_rear_right_support : "none";
|
||||||
pcb_standoff = [bottom_standoff[0],
|
pcb_standoff = [bottom_standoff[0],
|
||||||
bottom_standoff[1],
|
bottom_standoff[1],
|
||||||
bottom_height-pcb_z+pcb_loc_z+bottom_rear_right_adjust,
|
pcb_bmaxz+floorthick+case_offset_bz+pcb_loc_z+bottom_rear_right_adjust,
|
||||||
bottom_standoff[3],
|
bottom_standoff[3],
|
||||||
bottom_standoff[4],
|
bottom_standoff[4],
|
||||||
bottom_standoff[5],
|
bottom_standoff[5],
|
||||||
@@ -366,7 +379,11 @@ if(case_design == "rack" && side == "bottom") {
|
|||||||
bottom_standoff[10],
|
bottom_standoff[10],
|
||||||
bottom_standoff[11],
|
bottom_standoff[11],
|
||||||
bottom_standoff[12]];
|
bottom_standoff[12]];
|
||||||
translate([pcbhole_x,pcbhole_y,0])
|
ahpx = rack_bay_sbc[r] == "n2" ? 82 : rack_bay_sbc[r] == "n2+" ? 80.75 :
|
||||||
|
rack_bay_sbc[r] == "m1" ? 80.75 : pcbhole_x;
|
||||||
|
ahpy = rack_bay_sbc[r] == "n2" ? 6 : rack_bay_sbc[r] == "n2+" ? 9.25 :
|
||||||
|
rack_bay_sbc[r] == "m1" ? 9.25 : pcbhole_y;
|
||||||
|
translate([ahpx,ahpy,0])
|
||||||
standoff(pcb_standoff,[false,10,2,"default"]);
|
standoff(pcb_standoff,[false,10,2,"default"]);
|
||||||
}
|
}
|
||||||
if (pcbhole_pos == "right_front" && bottom_front_right_enable == true) {
|
if (pcbhole_pos == "right_front" && bottom_front_right_enable == true) {
|
||||||
@@ -374,7 +391,7 @@ if(case_design == "rack" && side == "bottom") {
|
|||||||
bottom_front_right_support : "none";
|
bottom_front_right_support : "none";
|
||||||
pcb_standoff = [bottom_standoff[0],
|
pcb_standoff = [bottom_standoff[0],
|
||||||
bottom_standoff[1],
|
bottom_standoff[1],
|
||||||
bottom_height-pcb_z+pcb_loc_z+bottom_front_right_adjust,
|
pcb_bmaxz+floorthick+case_offset_bz+pcb_loc_z+bottom_front_right_adjust,
|
||||||
bottom_standoff[3],
|
bottom_standoff[3],
|
||||||
bottom_standoff[4],
|
bottom_standoff[4],
|
||||||
bottom_standoff[5],
|
bottom_standoff[5],
|
||||||
@@ -385,7 +402,11 @@ if(case_design == "rack" && side == "bottom") {
|
|||||||
bottom_standoff[10],
|
bottom_standoff[10],
|
||||||
bottom_standoff[11],
|
bottom_standoff[11],
|
||||||
bottom_standoff[12]];
|
bottom_standoff[12]];
|
||||||
translate([pcbhole_x,pcbhole_y,0])
|
ahpx = rack_bay_sbc[r] == "n2" ? 82 : rack_bay_sbc[r] == "n2+" ? 80.75 :
|
||||||
|
rack_bay_sbc[r] == "m1" ? 80.75 : pcbhole_x;
|
||||||
|
ahpy = rack_bay_sbc[r] == "n2" ? 75 : rack_bay_sbc[r] == "n2+" ? 80.75 :
|
||||||
|
rack_bay_sbc[r] == "m1" ? 112.75 : pcbhole_y;
|
||||||
|
translate([ahpx,ahpy,0])
|
||||||
standoff(pcb_standoff,[false,10,2,"default"]);
|
standoff(pcb_standoff,[false,10,2,"default"]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -504,7 +525,7 @@ if(case_design == "rack" && side == "bottom") {
|
|||||||
}
|
}
|
||||||
// rear fan, rear conduit and front bay openings
|
// rear fan, rear conduit and front bay openings
|
||||||
for(r = [0:len(rack_bay_sbc)-1]) {
|
for(r = [0:len(rack_bay_sbc)-1]) {
|
||||||
// rear fan openings
|
// rear fan openings
|
||||||
fan_offset = -75+(75-rear_fan_size)/2;
|
fan_offset = -75+(75-rear_fan_size)/2;
|
||||||
if(rack_bay_rear_fan[r] == true) {
|
if(rack_bay_rear_fan[r] == true) {
|
||||||
translate([-gap-wallthick-1+rack_asm_gap/2+75*(r+1)+fan_offset+8,depth-gap-wallthick-adj,
|
translate([-gap-wallthick-1+rack_asm_gap/2+75*(r+1)+fan_offset+8,depth-gap-wallthick-adj,
|
||||||
@@ -608,8 +629,6 @@ if(case_design == "rack" && side == "bottom") {
|
|||||||
pcb_z_orig = sbc_data[s[0]][10][2];
|
pcb_z_orig = sbc_data[s[0]][10][2];
|
||||||
pcb_tmaxz = sbc_data[s[0]][11][5];
|
pcb_tmaxz = sbc_data[s[0]][11][5];
|
||||||
pcb_bmaxz = sbc_data[s[0]][11][6];
|
pcb_bmaxz = sbc_data[s[0]][11][6];
|
||||||
pcb_color = sbc_data[s[0]][11][1];
|
|
||||||
pcb_radius = sbc_data[s[0]][11][0];
|
|
||||||
|
|
||||||
pcb_loc_x = rack_bay_rotation[r] == 90 ? rack_bay_xyz_loc[r][0] + pcb_width : rack_bay_rotation[r] == 180 ?
|
pcb_loc_x = rack_bay_rotation[r] == 90 ? rack_bay_xyz_loc[r][0] + pcb_width : rack_bay_rotation[r] == 180 ?
|
||||||
rack_bay_xyz_loc[r][0] + pcb_width : rack_bay_xyz_loc[r][0];
|
rack_bay_xyz_loc[r][0] + pcb_width : rack_bay_xyz_loc[r][0];
|
||||||
@@ -619,11 +638,11 @@ if(case_design == "rack" && side == "bottom") {
|
|||||||
|
|
||||||
// sbc openings
|
// sbc openings
|
||||||
if(sbc_highlight == true && rack_bay_sbc[r] != "empty") {
|
if(sbc_highlight == true && rack_bay_sbc[r] != "empty") {
|
||||||
#translate([pcb_loc_x ,pcb_loc_y,bottom_height-pcb_z+pcb_loc_z-adj]) rotate([0,0,rack_bay_rotation[r]])
|
#translate([pcb_loc_x ,pcb_loc_y,pcb_bmaxz+floorthick+case_offset_bz+pcb_loc_z-adj]) rotate([0,0,rack_bay_rotation[r]])
|
||||||
sbc(rack_bay_sbc[r], cooling, fan_size, gpio_opening, uart_opening, true);
|
sbc(rack_bay_sbc[r], cooling, fan_size, gpio_opening, uart_opening, true);
|
||||||
}
|
}
|
||||||
if(sbc_highlight != true && rack_bay_sbc[r] != "empty") {
|
if(sbc_highlight != true && rack_bay_sbc[r] != "empty") {
|
||||||
translate([pcb_loc_x ,pcb_loc_y,bottom_height-pcb_z+pcb_loc_z-adj]) rotate([0,0,rack_bay_rotation[r]])
|
translate([pcb_loc_x ,pcb_loc_y,pcb_bmaxz+floorthick+case_offset_bz+pcb_loc_z-adj]) rotate([0,0,rack_bay_rotation[r]])
|
||||||
sbc(rack_bay_sbc[r], cooling, fan_size, gpio_opening, uart_opening, true);
|
sbc(rack_bay_sbc[r], cooling, fan_size, gpio_opening, uart_opening, true);
|
||||||
}
|
}
|
||||||
// case divide
|
// case divide
|
||||||
@@ -639,10 +658,10 @@ if(case_design == "rack" && side == "bottom") {
|
|||||||
bottom=[edge_fillet,edge_fillet,edge_fillet,edge_fillet,edge_fillet], $fn=90);
|
bottom=[edge_fillet,edge_fillet,edge_fillet,edge_fillet,edge_fillet], $fn=90);
|
||||||
}
|
}
|
||||||
// cleanup for recessed top
|
// cleanup for recessed top
|
||||||
translate([-gap,-gap,case_z-2*floorthick])
|
translate([-gap,-gap,case_z-floorthick-2])
|
||||||
slab([width-(2*wallthick),depth-(2*wallthick),floorthick+adj],corner_fillet);
|
slab([width-(2*wallthick),depth-(2*wallthick),2+adj],corner_fillet);
|
||||||
translate([-gap-wallthick-adj,-gap,case_z-floorthick])
|
translate([-gap-wallthick-adj,-gap-wallthick,case_z-floorthick])
|
||||||
slab([width,depth-(2*wallthick),20],corner_fillet);
|
slab([width,depth+adj,20],corner_fillet);
|
||||||
}
|
}
|
||||||
// additive accessories
|
// additive accessories
|
||||||
if(accessory_name != "none") {
|
if(accessory_name != "none") {
|
||||||
|
|||||||
@@ -10919,7 +10919,7 @@
|
|||||||
"case_offset_bz": "0",
|
"case_offset_bz": "0",
|
||||||
"case_offset_tz": "0",
|
"case_offset_tz": "0",
|
||||||
"case_offset_x": "0",
|
"case_offset_x": "0",
|
||||||
"case_offset_y": "50",
|
"case_offset_y": "10",
|
||||||
"cooling": "default",
|
"cooling": "default",
|
||||||
"corner_fillet": "3",
|
"corner_fillet": "3",
|
||||||
"edge_fillet": "0",
|
"edge_fillet": "0",
|
||||||
@@ -11180,7 +11180,7 @@
|
|||||||
"case_offset_bz": "0",
|
"case_offset_bz": "0",
|
||||||
"case_offset_tz": "0",
|
"case_offset_tz": "0",
|
||||||
"case_offset_x": "0",
|
"case_offset_x": "0",
|
||||||
"case_offset_y": "60",
|
"case_offset_y": "10",
|
||||||
"cooling": "default",
|
"cooling": "default",
|
||||||
"corner_fillet": "3",
|
"corner_fillet": "3",
|
||||||
"edge_fillet": "0",
|
"edge_fillet": "0",
|
||||||
@@ -11441,7 +11441,7 @@
|
|||||||
"case_offset_bz": "0",
|
"case_offset_bz": "0",
|
||||||
"case_offset_tz": "0",
|
"case_offset_tz": "0",
|
||||||
"case_offset_x": "0",
|
"case_offset_x": "0",
|
||||||
"case_offset_y": "50",
|
"case_offset_y": "10",
|
||||||
"cooling": "vent_hex_8mm",
|
"cooling": "vent_hex_8mm",
|
||||||
"corner_fillet": "3",
|
"corner_fillet": "3",
|
||||||
"edge_fillet": "0",
|
"edge_fillet": "0",
|
||||||
@@ -11580,7 +11580,7 @@
|
|||||||
"rack_bay2_rear_fan": "true",
|
"rack_bay2_rear_fan": "true",
|
||||||
"rack_bay2_rotation": "0",
|
"rack_bay2_rotation": "0",
|
||||||
"rack_bay2_wall": "false",
|
"rack_bay2_wall": "false",
|
||||||
"rack_bay2_xyz_loc": "[123.5, 0, 6]",
|
"rack_bay2_xyz_loc": "[123.5, 0, 3]",
|
||||||
"rack_bay3_face": "vent",
|
"rack_bay3_face": "vent",
|
||||||
"rack_bay3_rear_conduit": "grommet",
|
"rack_bay3_rear_conduit": "grommet",
|
||||||
"rack_bay3_rear_fan": "true",
|
"rack_bay3_rear_fan": "true",
|
||||||
@@ -11694,7 +11694,7 @@
|
|||||||
"bottom_standoff_insert_height": "5.1",
|
"bottom_standoff_insert_height": "5.1",
|
||||||
"bottom_standoff_pillar": "hex",
|
"bottom_standoff_pillar": "hex",
|
||||||
"bottom_standoff_reverse": "false",
|
"bottom_standoff_reverse": "false",
|
||||||
"bottom_standoff_size": "m3",
|
"bottom_standoff_size": "m3+",
|
||||||
"bottom_standoff_support_height": "4",
|
"bottom_standoff_support_height": "4",
|
||||||
"bottom_standoff_support_size": "10",
|
"bottom_standoff_support_size": "10",
|
||||||
"bottom_standoff_type": "countersunk",
|
"bottom_standoff_type": "countersunk",
|
||||||
@@ -11702,8 +11702,8 @@
|
|||||||
"case_offset_bz": "0",
|
"case_offset_bz": "0",
|
||||||
"case_offset_tz": "0",
|
"case_offset_tz": "0",
|
||||||
"case_offset_x": "0",
|
"case_offset_x": "0",
|
||||||
"case_offset_y": "63",
|
"case_offset_y": "35",
|
||||||
"cooling": "vent_hex_8mm",
|
"cooling": "none",
|
||||||
"corner_fillet": "3",
|
"corner_fillet": "3",
|
||||||
"edge_fillet": "0",
|
"edge_fillet": "0",
|
||||||
"ext_bottom_front_left_adjust": "0",
|
"ext_bottom_front_left_adjust": "0",
|
||||||
@@ -11760,7 +11760,7 @@
|
|||||||
"flat_blank_section": "false",
|
"flat_blank_section": "false",
|
||||||
"floorthick": "2",
|
"floorthick": "2",
|
||||||
"front_cover_pattern": "solid",
|
"front_cover_pattern": "solid",
|
||||||
"gap": "1",
|
"gap": "2",
|
||||||
"gpio_opening": "none",
|
"gpio_opening": "none",
|
||||||
"hd_bays": "2",
|
"hd_bays": "2",
|
||||||
"hd_center": "false",
|
"hd_center": "false",
|
||||||
@@ -11835,13 +11835,13 @@
|
|||||||
"rack_bay1_rear_fan": "true",
|
"rack_bay1_rear_fan": "true",
|
||||||
"rack_bay1_rotation": "0",
|
"rack_bay1_rotation": "0",
|
||||||
"rack_bay1_wall": "false",
|
"rack_bay1_wall": "false",
|
||||||
"rack_bay1_xyz_loc": "[13.5, 0, 12]",
|
"rack_bay1_xyz_loc": "[13.5, 0, 0]",
|
||||||
"rack_bay2_face": "fixed",
|
"rack_bay2_face": "fixed",
|
||||||
"rack_bay2_rear_conduit": "grommet",
|
"rack_bay2_rear_conduit": "grommet",
|
||||||
"rack_bay2_rear_fan": "true",
|
"rack_bay2_rear_fan": "true",
|
||||||
"rack_bay2_rotation": "0",
|
"rack_bay2_rotation": "0",
|
||||||
"rack_bay2_wall": "false",
|
"rack_bay2_wall": "false",
|
||||||
"rack_bay2_xyz_loc": "[120, 0, 6]",
|
"rack_bay2_xyz_loc": "[120, 0, 0]",
|
||||||
"rack_bay3_face": "vent",
|
"rack_bay3_face": "vent",
|
||||||
"rack_bay3_rear_conduit": "none",
|
"rack_bay3_rear_conduit": "none",
|
||||||
"rack_bay3_rear_fan": "true",
|
"rack_bay3_rear_fan": "true",
|
||||||
@@ -11853,13 +11853,13 @@
|
|||||||
"rack_bay4_rear_fan": "true",
|
"rack_bay4_rear_fan": "true",
|
||||||
"rack_bay4_rotation": "0",
|
"rack_bay4_rotation": "0",
|
||||||
"rack_bay4_wall": "false",
|
"rack_bay4_wall": "false",
|
||||||
"rack_bay4_xyz_loc": "[245, 0, 0]",
|
"rack_bay4_xyz_loc": "[244.5, 0, 3]",
|
||||||
"rack_bay5_face": "vent",
|
"rack_bay5_face": "vent",
|
||||||
"rack_bay5_rear_conduit": "grommet",
|
"rack_bay5_rear_conduit": "grommet",
|
||||||
"rack_bay5_rear_fan": "true",
|
"rack_bay5_rear_fan": "true",
|
||||||
"rack_bay5_rotation": "0",
|
"rack_bay5_rotation": "0",
|
||||||
"rack_bay5_wall": "false",
|
"rack_bay5_wall": "false",
|
||||||
"rack_bay5_xyz_loc": "[345, 0, 6]",
|
"rack_bay5_xyz_loc": "[345, 0, 0]",
|
||||||
"rack_bay6_face": "fixed",
|
"rack_bay6_face": "fixed",
|
||||||
"rack_bay6_rear_conduit": "grommet",
|
"rack_bay6_rear_conduit": "grommet",
|
||||||
"rack_bay6_rear_fan": "true",
|
"rack_bay6_rear_fan": "true",
|
||||||
@@ -11878,7 +11878,7 @@
|
|||||||
"sbc_bottom_standoffs": "true",
|
"sbc_bottom_standoffs": "true",
|
||||||
"sbc_highlight": "false",
|
"sbc_highlight": "false",
|
||||||
"sbc_information": "false",
|
"sbc_information": "false",
|
||||||
"sbc_model": "c4",
|
"sbc_model": "c1+",
|
||||||
"sbc_off": "false",
|
"sbc_off": "false",
|
||||||
"sbc_top_standoffs": "false",
|
"sbc_top_standoffs": "false",
|
||||||
"section_part": "false",
|
"section_part": "false",
|
||||||
|
|||||||
@@ -440,7 +440,7 @@ pcb_radius = sbc_data[s[0]][11][0];
|
|||||||
|
|
||||||
pcb_z = sbc_model == "ssi-eeb" || sbc_model == "ssi-ceb" || sbc_model == "atx" || sbc_model == "micro-atx" || sbc_model == "dtx" || sbc_model == "flex-atx" || sbc_model == "mini-dtx" || sbc_model == "mini-itx" || sbc_model == "mini-itx_thin" || sbc_model == "mini-stx" || sbc_model == "mini-stx_thin" || sbc_model == "nano-itx" || sbc_model == "nuc" || sbc_model == "pico-itx" ? pcb_z_orig + standard_motherboard_thickness : pcb_z_orig;
|
pcb_z = sbc_model == "ssi-eeb" || sbc_model == "ssi-ceb" || sbc_model == "atx" || sbc_model == "micro-atx" || sbc_model == "dtx" || sbc_model == "flex-atx" || sbc_model == "mini-dtx" || sbc_model == "mini-itx" || sbc_model == "mini-itx_thin" || sbc_model == "mini-stx" || sbc_model == "mini-stx_thin" || sbc_model == "nano-itx" || sbc_model == "nuc" || sbc_model == "pico-itx" ? pcb_z_orig + standard_motherboard_thickness : pcb_z_orig;
|
||||||
width = case_design == "panel_nas" && pcb_width <= 100 ? pcb_width+2*(sidethick+gap)+case_offset_x+(101.6-pcb_width) : case_design == "panel_nas" && pcb_width > 100 ? pcb_width+2*(sidethick+gap)+case_offset_x : case_design == "rack" && rack_width == 19 ? 450 : case_design == "rack" && rack_width == 10 ? 221.5 : pcb_width+(2*(wallthick+gap))+case_offset_x;
|
width = case_design == "panel_nas" && pcb_width <= 100 ? pcb_width+2*(sidethick+gap)+case_offset_x+(101.6-pcb_width) : case_design == "panel_nas" && pcb_width > 100 ? pcb_width+2*(sidethick+gap)+case_offset_x : case_design == "rack" && rack_width == 19 ? 450 : case_design == "rack" && rack_width == 10 ? 221.5 : pcb_width+(2*(wallthick+gap))+case_offset_x;
|
||||||
depth = case_design == "panel_nas" ? pcb_depth+2*(wallthick+gap)+case_offset_y + 147-pcb_depth+hd_y_position : pcb_depth+2*(wallthick+gap)+case_offset_y;
|
depth = case_design == "panel_nas" ? pcb_depth+2*(wallthick+gap)+case_offset_y + 147-pcb_depth+hd_y_position : case_design == "rack" ? 100+case_offset_y : pcb_depth+2*(wallthick+gap)+case_offset_y;
|
||||||
top_height = pcb_tmaxz+floorthick+case_offset_tz+pcb_loc_z;
|
top_height = pcb_tmaxz+floorthick+case_offset_tz+pcb_loc_z;
|
||||||
bottom_height = (case_design == "tray" || case_design == "tray_vu5" || case_design == "tray_vu7" || case_design == "tray_sides") ? pcb_z+pcb_bmaxz+floorthick+case_offset_bz+4 : pcb_z+pcb_bmaxz+floorthick+case_offset_bz;
|
bottom_height = (case_design == "tray" || case_design == "tray_vu5" || case_design == "tray_vu7" || case_design == "tray_sides") ? pcb_z+pcb_bmaxz+floorthick+case_offset_bz+4 : pcb_z+pcb_bmaxz+floorthick+case_offset_bz;
|
||||||
case_z = case_design == "panel_nas" ? bottom_height+top_height+hd_z_position+(hd_bays * (hd_space + 26.1)) : case_design == "rack" && rack_size == "1u" ? 44.45+floorthick : case_design == "rack" && rack_size == "1u+" ? 59.26+floorthick : case_design == "rack" && rack_size == "1u++" ? 74.07+floorthick : case_design == "rack" && rack_size == "2u" ? 88.90+floorthick : bottom_height+top_height;
|
case_z = case_design == "panel_nas" ? bottom_height+top_height+hd_z_position+(hd_bays * (hd_space + 26.1)) : case_design == "rack" && rack_size == "1u" ? 44.45+floorthick : case_design == "rack" && rack_size == "1u+" ? 59.26+floorthick : case_design == "rack" && rack_size == "1u++" ? 74.07+floorthick : case_design == "rack" && rack_size == "2u" ? 88.90+floorthick : bottom_height+top_height;
|
||||||
@@ -534,6 +534,7 @@ multipcb_bottom_standoff = [multipcb_bottom_standoff_size,
|
|||||||
multipcb_bottom_standoff_insert_height];
|
multipcb_bottom_standoff_insert_height];
|
||||||
|
|
||||||
rack_bay_sbc = [Rack_Bay1,Rack_Bay2,Rack_Bay3,Rack_Bay4,Rack_Bay5,Rack_Bay6];
|
rack_bay_sbc = [Rack_Bay1,Rack_Bay2,Rack_Bay3,Rack_Bay4,Rack_Bay5,Rack_Bay6];
|
||||||
|
|
||||||
rack_bay_xyz_loc = [[rack_bay1_xyz_loc[0],rack_bay1_xyz_loc[1],rack_bay1_xyz_loc[2]],
|
rack_bay_xyz_loc = [[rack_bay1_xyz_loc[0],rack_bay1_xyz_loc[1],rack_bay1_xyz_loc[2]],
|
||||||
[rack_bay2_xyz_loc[0],rack_bay2_xyz_loc[1],rack_bay2_xyz_loc[2]],
|
[rack_bay2_xyz_loc[0],rack_bay2_xyz_loc[1],rack_bay2_xyz_loc[2]],
|
||||||
[rack_bay3_xyz_loc[0],rack_bay3_xyz_loc[1],rack_bay3_xyz_loc[2]],
|
[rack_bay3_xyz_loc[0],rack_bay3_xyz_loc[1],rack_bay3_xyz_loc[2]],
|
||||||
@@ -1194,14 +1195,12 @@ if (view == "model") {
|
|||||||
pcb_z_orig = sbc_data[s[0]][10][2];
|
pcb_z_orig = sbc_data[s[0]][10][2];
|
||||||
pcb_tmaxz = sbc_data[s[0]][11][5];
|
pcb_tmaxz = sbc_data[s[0]][11][5];
|
||||||
pcb_bmaxz = sbc_data[s[0]][11][6];
|
pcb_bmaxz = sbc_data[s[0]][11][6];
|
||||||
pcb_color = sbc_data[s[0]][11][1];
|
|
||||||
pcb_radius = sbc_data[s[0]][11][0];
|
|
||||||
|
|
||||||
pcb_loc_x = rack_bay_rotation[i] == 90 ? rack_bay_xyz_loc[i][0] + pcb_width : rack_bay_rotation[i] == 180 ? rack_bay_xyz_loc[i][0] + pcb_width : rack_bay_xyz_loc[i][0];
|
pcb_loc_x = rack_bay_rotation[i] == 90 ? rack_bay_xyz_loc[i][0] + pcb_width : rack_bay_rotation[i] == 180 ? rack_bay_xyz_loc[i][0] + pcb_width : rack_bay_xyz_loc[i][0];
|
||||||
pcb_loc_y = rack_bay_rotation[i] == 270 ? rack_bay_xyz_loc[i][1]+pcb_width : rack_bay_rotation[i] == 180 ? rack_bay_xyz_loc[i][1]+pcb_depth : rack_bay_xyz_loc[i][1];
|
pcb_loc_y = rack_bay_rotation[i] == 270 ? rack_bay_xyz_loc[i][1]+pcb_width : rack_bay_rotation[i] == 180 ? rack_bay_xyz_loc[i][1]+pcb_depth : rack_bay_xyz_loc[i][1];
|
||||||
pcb_loc_z = rack_bay_xyz_loc[i][2];
|
pcb_loc_z = rack_bay_xyz_loc[i][2];
|
||||||
|
|
||||||
translate([pcb_loc_x ,pcb_loc_y,bottom_height-pcb_z+pcb_loc_z-adj])
|
translate([pcb_loc_x ,pcb_loc_y,pcb_bmaxz+floorthick+case_offset_bz+pcb_loc_z-adj])
|
||||||
rotate([0,0,rack_bay_rotation[i]])
|
rotate([0,0,rack_bay_rotation[i]])
|
||||||
sbc(rack_bay_sbc[i], cooling, fan_size, gpio_opening, uart_opening, false);
|
sbc(rack_bay_sbc[i], cooling, fan_size, gpio_opening, uart_opening, false);
|
||||||
}
|
}
|
||||||
@@ -1214,8 +1213,6 @@ if (view == "model") {
|
|||||||
pcb_z_orig = sbc_data[s[0]][10][2];
|
pcb_z_orig = sbc_data[s[0]][10][2];
|
||||||
pcb_tmaxz = sbc_data[s[0]][11][5];
|
pcb_tmaxz = sbc_data[s[0]][11][5];
|
||||||
pcb_bmaxz = sbc_data[s[0]][11][6];
|
pcb_bmaxz = sbc_data[s[0]][11][6];
|
||||||
pcb_color = sbc_data[s[0]][11][1];
|
|
||||||
pcb_radius = sbc_data[s[0]][11][0];
|
|
||||||
|
|
||||||
pcb_loc_x = rack_bay_rotation[i] == 90 ? rack_bay_xyz_loc[i][0] + pcb_width :
|
pcb_loc_x = rack_bay_rotation[i] == 90 ? rack_bay_xyz_loc[i][0] + pcb_width :
|
||||||
rack_bay_rotation[i] == 180 ? rack_bay_xyz_loc[i][0] + pcb_width :
|
rack_bay_rotation[i] == 180 ? rack_bay_xyz_loc[i][0] + pcb_width :
|
||||||
|
|||||||
Reference in New Issue
Block a user