fixed bottom heatsink standoff mounting for relavent sbc
This commit is contained in:
@@ -408,19 +408,39 @@ echo(pcb_depth+case_offset_y-10);
|
|||||||
|
|
||||||
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]) cylinder(d=bottom_standoff[4]-.2, h=floorthick+(2*adj));
|
ahpx = sbc_model == "n2" ? 7 : sbc_model == "n2+" ? 9.25 :
|
||||||
|
sbc_model == "m1" ? 9.25 : pcbhole_x;
|
||||||
|
ahpy = sbc_model == "n2" ? 15 : sbc_model == "n2+" ? 9.25 :
|
||||||
|
sbc_model == "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]) cylinder(d=bottom_standoff[4]-.2, h=floorthick+(2*adj));
|
ahpx = sbc_model == "n2" ? 8 : sbc_model == "n2+" ? 9.25 :
|
||||||
|
sbc_model == "m1" ? 9.25 : pcbhole_x;
|
||||||
|
ahpy = sbc_model == "n2" ? 75 : sbc_model == "n2+" ? 80.75 :
|
||||||
|
sbc_model == "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]) cylinder(d=bottom_standoff[4]-.2, h=floorthick+(2*adj));
|
ahpx = sbc_model == "n2" ? 82 : sbc_model == "n2+" ? 80.75 :
|
||||||
|
sbc_model == "m1" ? 80.75 : pcbhole_x;
|
||||||
|
ahpy = sbc_model == "n2" ? 6 : sbc_model == "n2+" ? 9.25 :
|
||||||
|
sbc_model == "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]) cylinder(d=bottom_standoff[4]-.2, h=floorthick+(2*adj));
|
ahpx = sbc_model == "n2" ? 82 : sbc_model == "n2+" ? 80.75 :
|
||||||
|
sbc_model == "m1" ? 80.75 : pcbhole_x;
|
||||||
|
ahpy = sbc_model == "n2" ? 75 : sbc_model == "n2+" ? 80.75 :
|
||||||
|
sbc_model == "m1" ? 112.75 : pcbhole_y;
|
||||||
|
translate([ahpx,ahpy,-adj])
|
||||||
|
cylinder(d=bottom_standoff[4]-.2, h=floorthick+(2*adj));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -445,6 +465,7 @@ echo(pcb_depth+case_offset_y-10);
|
|||||||
pcbhole_size = sbc_data[s[0]][i+9][0];
|
pcbhole_size = sbc_data[s[0]][i+9][0];
|
||||||
pcbhole_state = sbc_data[s[0]][i+10][0];
|
pcbhole_state = sbc_data[s[0]][i+10][0];
|
||||||
pcbhole_pos = sbc_data[s[0]][i+10][4];
|
pcbhole_pos = sbc_data[s[0]][i+10][4];
|
||||||
|
|
||||||
if(id == pcbid && id != 0 && pcbclass == "pcbhole") {
|
if(id == pcbid && id != 0 && pcbclass == "pcbhole") {
|
||||||
if (pcbclass == "pcbhole" && pcbhole_pos == "left_rear" &&
|
if (pcbclass == "pcbhole" && pcbhole_pos == "left_rear" &&
|
||||||
multipcb_bottom_rear_left_enable == true &&
|
multipcb_bottom_rear_left_enable == true &&
|
||||||
@@ -599,13 +620,15 @@ echo(pcb_depth+case_offset_y-10);
|
|||||||
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];
|
||||||
|
pcbadj_z = sbc_model == "n2" || sbc_model == "m1" ? -6 :
|
||||||
|
sbc_model == "n2+" ? -4.5 : 0;
|
||||||
|
|
||||||
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,
|
bottom_height-pcb_z+pcb_loc_z+bottom_rear_left_adjust+pcbadj_z,
|
||||||
bottom_standoff[3],
|
bottom_standoff[3],
|
||||||
bottom_standoff[4],
|
bottom_standoff[4],
|
||||||
bottom_standoff[5],
|
bottom_standoff[5],
|
||||||
@@ -616,13 +639,18 @@ echo(pcb_depth+case_offset_y-10);
|
|||||||
bottom_standoff[10],
|
bottom_standoff[10],
|
||||||
bottom_standoff[11],
|
bottom_standoff[11],
|
||||||
bottom_standoff[12]];
|
bottom_standoff[12]];
|
||||||
translate([pcbhole_x,pcbhole_y,0]) standoff(pcb_standoff,[false,10,2,"default"]);
|
ahpx = sbc_model == "n2" ? 7 : sbc_model == "n2+" ? 9.25 :
|
||||||
|
sbc_model == "m1" ? 9.25 : pcbhole_x;
|
||||||
|
ahpy = sbc_model == "n2" ? 15 : sbc_model == "n2+" ? 9.25 :
|
||||||
|
sbc_model == "m1" ? 9.25 : pcbhole_y;
|
||||||
|
translate([ahpx,ahpy,0])
|
||||||
|
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,
|
bottom_height-pcb_z+pcb_loc_z+bottom_front_left_adjust+pcbadj_z,
|
||||||
bottom_standoff[3],
|
bottom_standoff[3],
|
||||||
bottom_standoff[4],
|
bottom_standoff[4],
|
||||||
bottom_standoff[5],
|
bottom_standoff[5],
|
||||||
@@ -633,13 +661,18 @@ echo(pcb_depth+case_offset_y-10);
|
|||||||
bottom_standoff[10],
|
bottom_standoff[10],
|
||||||
bottom_standoff[11],
|
bottom_standoff[11],
|
||||||
bottom_standoff[12]];
|
bottom_standoff[12]];
|
||||||
translate([pcbhole_x,pcbhole_y,0]) standoff(pcb_standoff,[false,10,2,"default"]);
|
ahpx = sbc_model == "n2" ? 8 : sbc_model == "n2+" ? 9.25 :
|
||||||
|
sbc_model == "m1" ? 9.25 : pcbhole_x;
|
||||||
|
ahpy = sbc_model == "n2" ? 75 : sbc_model == "n2+" ? 80.75 :
|
||||||
|
sbc_model == "m1" ? 112.75 : pcbhole_y;
|
||||||
|
translate([ahpx,ahpy,0])
|
||||||
|
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,
|
bottom_height-pcb_z+pcb_loc_z+bottom_rear_right_adjust+pcbadj_z,
|
||||||
bottom_standoff[3],
|
bottom_standoff[3],
|
||||||
bottom_standoff[4],
|
bottom_standoff[4],
|
||||||
bottom_standoff[5],
|
bottom_standoff[5],
|
||||||
@@ -650,13 +683,18 @@ echo(pcb_depth+case_offset_y-10);
|
|||||||
bottom_standoff[10],
|
bottom_standoff[10],
|
||||||
bottom_standoff[11],
|
bottom_standoff[11],
|
||||||
bottom_standoff[12]];
|
bottom_standoff[12]];
|
||||||
translate([pcbhole_x,pcbhole_y,0]) standoff(pcb_standoff,[false,10,2,"default"]);
|
ahpx = sbc_model == "n2" ? 82 : sbc_model == "n2+" ? 80.75 :
|
||||||
|
sbc_model == "m1" ? 80.75 : pcbhole_x;
|
||||||
|
ahpy = sbc_model == "n2" ? 6 : sbc_model == "n2+" ? 9.25 :
|
||||||
|
sbc_model == "m1" ? 9.25 : pcbhole_y;
|
||||||
|
translate([ahpx,ahpy,0])
|
||||||
|
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) {
|
||||||
bottom_support = bottom_sidewall_support == true ? bottom_front_right_support : "none";
|
bottom_support = bottom_sidewall_support == true ? 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,
|
bottom_height-pcb_z+pcb_loc_z+bottom_front_right_adjust+pcbadj_z,
|
||||||
bottom_standoff[3],
|
bottom_standoff[3],
|
||||||
bottom_standoff[4],
|
bottom_standoff[4],
|
||||||
bottom_standoff[5],
|
bottom_standoff[5],
|
||||||
@@ -667,7 +705,12 @@ echo(pcb_depth+case_offset_y-10);
|
|||||||
bottom_standoff[10],
|
bottom_standoff[10],
|
||||||
bottom_standoff[11],
|
bottom_standoff[11],
|
||||||
bottom_standoff[12]];
|
bottom_standoff[12]];
|
||||||
translate([pcbhole_x,pcbhole_y,0]) standoff(pcb_standoff,[false,10,2,"default"]);
|
ahpx = sbc_model == "n2" ? 82 : sbc_model == "n2+" ? 80.75 :
|
||||||
|
sbc_model == "m1" ? 80.75 : pcbhole_x;
|
||||||
|
ahpy = sbc_model == "n2" ? 75 : sbc_model == "n2+" ? 80.75 :
|
||||||
|
sbc_model == "m1" ? 112.75 : pcbhole_y;
|
||||||
|
translate([ahpx,ahpy,0])
|
||||||
|
standoff(pcb_standoff,[false,10,2,"default"]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -295,8 +295,8 @@ 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_color = sbc_data[s[0]][11][1];
|
||||||
pcb_radius = sbc_data[s[0]][11][0];
|
// pcb_radius = sbc_data[s[0]][11][0];
|
||||||
|
|
||||||
pcb_loc_x = rack_bay_rotation[r] == 90 ? rack_bay_xyz_loc[r][0] + pcb_width :
|
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_rotation[r] == 180 ? rack_bay_xyz_loc[r][0] + pcb_width : rack_bay_xyz_loc[r][0];
|
||||||
@@ -978,9 +978,9 @@ module bay_tray(depth, bay) {
|
|||||||
// front vent
|
// front vent
|
||||||
if(rack_bay_face[bay] == "removable") {
|
if(rack_bay_face[bay] == "removable") {
|
||||||
vadj = reminsert/9 > 10 ? 36 : 0;
|
vadj = reminsert/9 > 10 ? 36 : 0;
|
||||||
translate([-gap-wallthick-1+(rack_asm_gap/2)+14,-gap-adj+2,bay_height-13])
|
translate([-gap-wallthick-1+(rack_asm_gap/2)+14,gap+wallthick-adj,bay_height-13])
|
||||||
vent(2,5,wallthick+4,2,1,(reminsert+vadj)/9,"vertical");
|
vent(2,5,wallthick+4,2,1,(reminsert+vadj)/9,"vertical");
|
||||||
translate([-gap-wallthick-1+(rack_asm_gap/2)+14,-gap-adj+2,3])
|
translate([-gap-wallthick-1+(rack_asm_gap/2)+14,gap+wallthick-adj,3])
|
||||||
vent(2,5,wallthick+4,2,1,(reminsert+vadj)/9,"vertical");
|
vent(2,5,wallthick+4,2,1,(reminsert+vadj)/9,"vertical");
|
||||||
}
|
}
|
||||||
// pcb and multi-pcb standoff holes
|
// pcb and multi-pcb standoff holes
|
||||||
@@ -992,14 +992,15 @@ module bay_tray(depth, bay) {
|
|||||||
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_color = sbc_data[s[0]][11][1];
|
||||||
pcb_radius = sbc_data[s[0]][11][0];
|
// pcb_radius = sbc_data[s[0]][11][0];
|
||||||
|
|
||||||
pcb_loc_x = rack_bay_rotation[bay] == 90 ? rack_bay_xyz_loc[bay][0] + pcb_width :
|
pcb_loc_x = rack_bay_rotation[bay] == 90 ? rack_bay_xyz_loc[bay][0] + pcb_width :
|
||||||
rack_bay_rotation[bay] == 180 ? rack_bay_xyz_loc[bay][0] + pcb_width : rack_bay_xyz_loc[bay][0];
|
rack_bay_rotation[bay] == 180 ? rack_bay_xyz_loc[bay][0] + pcb_width : rack_bay_xyz_loc[bay][0];
|
||||||
pcb_loc_y = rack_bay_rotation[bay] == 270 ? rack_bay_xyz_loc[bay][1]+pcb_width :
|
pcb_loc_y = rack_bay_rotation[bay] == 270 ? rack_bay_xyz_loc[bay][1]+pcb_width :
|
||||||
rack_bay_rotation[bay] == 180 ? rack_bay_xyz_loc[bay][1]+pcb_depth : rack_bay_xyz_loc[bay][1];
|
rack_bay_rotation[bay] == 180 ? rack_bay_xyz_loc[bay][1]+pcb_depth : rack_bay_xyz_loc[bay][1];
|
||||||
pcb_loc_z = rack_bay_xyz_loc[bay][2];
|
// pcb_loc_z = rack_bay_sbc[bay] == "n2" || rack_bay_sbc[bay] == "m1" ? rack_bay_xyz_loc[bay][2]+6 :
|
||||||
|
// rack_bay_sbc[bay] == "n2+" ? rack_bay_xyz_loc[bay][2]+4.5 : rack_bay_xyz_loc[bay][2];
|
||||||
|
|
||||||
translate([pcb_loc_x,pcb_loc_y+wallthick+gap,0]) rotate([0,0,rack_bay_rotation[bay]]) union() {
|
translate([pcb_loc_x,pcb_loc_y+wallthick+gap,0]) rotate([0,0,rack_bay_rotation[bay]]) union() {
|
||||||
// pcb standoff holes
|
// pcb standoff holes
|
||||||
@@ -1016,23 +1017,39 @@ module bay_tray(depth, bay) {
|
|||||||
|
|
||||||
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[bay] == "n2" ? 7 : rack_bay_sbc[bay] == "n2+" ? 9.25 :
|
||||||
cylinder(d=bottom_standoff[4]-.2, h=floorthick+(2*adj));
|
rack_bay_sbc[bay] == "m1" ? 9.25 : pcbhole_x;
|
||||||
|
ahpy = rack_bay_sbc[bay] == "n2" ? 15 : rack_bay_sbc[bay] == "n2+" ? 9.25 :
|
||||||
|
rack_bay_sbc[bay] == "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[bay] == "n2" ? 8 : rack_bay_sbc[bay] == "n2+" ? 9.25 :
|
||||||
cylinder(d=bottom_standoff[4]-.2, h=floorthick+(2*adj));
|
rack_bay_sbc[bay] == "m1" ? 9.25 : pcbhole_x;
|
||||||
|
ahpy = rack_bay_sbc[bay] == "n2" ? 75 : rack_bay_sbc[bay] == "n2+" ? 80.75 :
|
||||||
|
rack_bay_sbc[bay] == "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[bay] == "n2" ? 82 : rack_bay_sbc[bay] == "n2+" ? 80.75 :
|
||||||
cylinder(d=bottom_standoff[4]-.2, h=floorthick+(2*adj));
|
rack_bay_sbc[bay] == "m1" ? 80.75 : pcbhole_x;
|
||||||
|
ahpy = rack_bay_sbc[bay] == "n2" ? 6 : rack_bay_sbc[bay] == "n2+" ? 9.25 :
|
||||||
|
rack_bay_sbc[bay] == "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[bay] == "n2" ? 82 : rack_bay_sbc[bay] == "n2+" ? 80.75 :
|
||||||
cylinder(d=bottom_standoff[4]-.2, h=floorthick+(2*adj));
|
rack_bay_sbc[bay] == "m1" ? 80.75 : pcbhole_x;
|
||||||
|
ahpy = rack_bay_sbc[bay] == "n2" ? 75 : rack_bay_sbc[bay] == "n2+" ? 80.75 :
|
||||||
|
rack_bay_sbc[bay] == "m1" ? 112.75 : pcbhole_y;
|
||||||
|
translate([ahpx,ahpy,-adj])
|
||||||
|
cylinder(d=bottom_standoff[4]-.2, h=floorthick+(2*adj));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1046,6 +1063,7 @@ module bay_tray(depth, bay) {
|
|||||||
pcbloc_x = sbc_data[s[0]][i+4];
|
pcbloc_x = sbc_data[s[0]][i+4];
|
||||||
pcbloc_y = sbc_data[s[0]][i+5];
|
pcbloc_y = sbc_data[s[0]][i+5];
|
||||||
pcbloc_z = sbc_data[s[0]][i+6];
|
pcbloc_z = sbc_data[s[0]][i+6];
|
||||||
|
|
||||||
if(class == "pcb") {
|
if(class == "pcb") {
|
||||||
for (i=[1:11:len(sbc_data[s[0]])-2]) {
|
for (i=[1:11:len(sbc_data[s[0]])-2]) {
|
||||||
pcbclass = sbc_data[s[0]][i+1];
|
pcbclass = sbc_data[s[0]][i+1];
|
||||||
@@ -1090,12 +1108,12 @@ module bay_tray(depth, bay) {
|
|||||||
}
|
}
|
||||||
// sbc openings
|
// sbc openings
|
||||||
if(sbc_highlight == true && rack_bay_sbc[bay] != "empty") {
|
if(sbc_highlight == true && rack_bay_sbc[bay] != "empty") {
|
||||||
#translate([pcb_loc_x ,pcb_loc_y+floorthick+gap,bottom_height-pcb_z+pcb_loc_z-adj])
|
#translate([pcb_loc_x ,pcb_loc_y+floorthick+gap,pcb_bmaxz+case_offset_bz+pcb_loc_z-adj])
|
||||||
rotate([0,0,rack_bay_rotation[bay]])
|
rotate([0,0,rack_bay_rotation[bay]])
|
||||||
sbc(rack_bay_sbc[bay], cooling, fan_size, gpio_opening, uart_opening, true);
|
sbc(rack_bay_sbc[bay], cooling, fan_size, gpio_opening, uart_opening, true);
|
||||||
}
|
}
|
||||||
if(sbc_highlight != true && rack_bay_sbc[bay] != "empty") {
|
if(sbc_highlight != true && rack_bay_sbc[bay] != "empty") {
|
||||||
translate([pcb_loc_x ,pcb_loc_y+floorthick+gap,bottom_height-pcb_z+pcb_loc_z-adj])
|
translate([pcb_loc_x ,pcb_loc_y+floorthick+gap,pcb_bmaxz+case_offset_bz+pcb_loc_z-adj])
|
||||||
rotate([0,0,rack_bay_rotation[bay]])
|
rotate([0,0,rack_bay_rotation[bay]])
|
||||||
sbc(rack_bay_sbc[bay], cooling, fan_size, gpio_opening, uart_opening, true);
|
sbc(rack_bay_sbc[bay], cooling, fan_size, gpio_opening, uart_opening, true);
|
||||||
}
|
}
|
||||||
@@ -1118,7 +1136,8 @@ module bay_tray(depth, bay) {
|
|||||||
rack_bay_rotation[bay] == 180 ? rack_bay_xyz_loc[bay][0] + pcb_width : rack_bay_xyz_loc[bay][0];
|
rack_bay_rotation[bay] == 180 ? rack_bay_xyz_loc[bay][0] + pcb_width : rack_bay_xyz_loc[bay][0];
|
||||||
pcb_loc_y = rack_bay_rotation[bay] == 270 ? rack_bay_xyz_loc[bay][1]+pcb_width :
|
pcb_loc_y = rack_bay_rotation[bay] == 270 ? rack_bay_xyz_loc[bay][1]+pcb_width :
|
||||||
rack_bay_rotation[bay] == 180 ? rack_bay_xyz_loc[bay][1]+pcb_depth : rack_bay_xyz_loc[bay][1];
|
rack_bay_rotation[bay] == 180 ? rack_bay_xyz_loc[bay][1]+pcb_depth : rack_bay_xyz_loc[bay][1];
|
||||||
pcb_loc_z = rack_bay_xyz_loc[bay][2];
|
pcb_loc_z = rack_bay_sbc[bay] == "n2" || rack_bay_sbc[bay] == "m1" ? rack_bay_xyz_loc[bay][2]-6 :
|
||||||
|
rack_bay_sbc[bay] == "n2+" ? rack_bay_xyz_loc[bay][2]-4.5 : rack_bay_xyz_loc[bay][2];
|
||||||
|
|
||||||
translate([pcb_loc_x,pcb_loc_y+wallthick+gap,0]) rotate([0,0,rack_bay_rotation[bay]]) union() {
|
translate([pcb_loc_x,pcb_loc_y+wallthick+gap,0]) rotate([0,0,rack_bay_rotation[bay]]) union() {
|
||||||
// primary pcb standoffs
|
// primary pcb standoffs
|
||||||
@@ -1138,7 +1157,7 @@ module bay_tray(depth, bay) {
|
|||||||
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],
|
||||||
@@ -1149,14 +1168,18 @@ module bay_tray(depth, bay) {
|
|||||||
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[bay] == "n2" ? 7 : rack_bay_sbc[bay] == "n2+" ? 9.25 :
|
||||||
|
rack_bay_sbc[bay] == "m1" ? 9.25 : pcbhole_x;
|
||||||
|
ahpy = rack_bay_sbc[bay] == "n2" ? 15 : rack_bay_sbc[bay] == "n2+" ? 9.25 :
|
||||||
|
rack_bay_sbc[bay]== "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],
|
||||||
@@ -1167,14 +1190,18 @@ module bay_tray(depth, bay) {
|
|||||||
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[bay] == "n2" ? 8 : rack_bay_sbc[bay] == "n2+" ? 9.25 :
|
||||||
|
rack_bay_sbc[bay] == "m1" ? 9.25 : pcbhole_x;
|
||||||
|
ahpy = rack_bay_sbc[bay] == "n2" ? 75 : rack_bay_sbc[bay] == "n2+" ? 80.75 :
|
||||||
|
rack_bay_sbc[bay] == "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],
|
||||||
@@ -1185,14 +1212,18 @@ module bay_tray(depth, bay) {
|
|||||||
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[bay] == "n2" ? 82 : rack_bay_sbc[bay] == "n2+" ? 80.75 :
|
||||||
|
rack_bay_sbc[bay] == "m1" ? 80.75 : pcbhole_x;
|
||||||
|
ahpy = rack_bay_sbc[bay] == "n2" ? 6 : rack_bay_sbc[bay] == "n2+" ? 9.25 :
|
||||||
|
rack_bay_sbc[bay] == "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) {
|
||||||
bottom_support = bottom_sidewall_support == true ? bottom_front_right_support : "none";
|
bottom_support = bottom_sidewall_support == true ? 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],
|
||||||
@@ -1203,7 +1234,11 @@ module bay_tray(depth, bay) {
|
|||||||
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[bay] == "n2" ? 82 : rack_bay_sbc[bay] == "n2+" ? 80.75 :
|
||||||
|
rack_bay_sbc[bay] == "m1" ? 80.75 : pcbhole_x;
|
||||||
|
ahpy = rack_bay_sbc[bay] == "n2" ? 75 : rack_bay_sbc[bay] == "n2+" ? 80.75 :
|
||||||
|
rack_bay_sbc[bay] == "m1" ? 112.75 : pcbhole_y;
|
||||||
|
translate([ahpx,ahpy,0])
|
||||||
standoff(pcb_standoff,[false,10,2,"default"]);
|
standoff(pcb_standoff,[false,10,2,"default"]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1200,7 +1200,7 @@ if (view == "model") {
|
|||||||
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,pcb_bmaxz+floorthick+case_offset_bz+pcb_loc_z-adj])
|
translate([pcb_loc_x ,pcb_loc_y,pcb_bmaxz+floorthick+case_offset_bz+pcb_loc_z])
|
||||||
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);
|
||||||
}
|
}
|
||||||
@@ -1223,7 +1223,7 @@ if (view == "model") {
|
|||||||
pcb_loc_z = rack_bay_xyz_loc[i][2];
|
pcb_loc_z = rack_bay_xyz_loc[i][2];
|
||||||
|
|
||||||
translate([pcb_loc_x+bayadj+75*(i+1) ,pcb_loc_y+wallthick+gap,
|
translate([pcb_loc_x+bayadj+75*(i+1) ,pcb_loc_y+wallthick+gap,
|
||||||
bottom_height-pcb_z+pcb_loc_z-adj+floorthick]) rotate([0,0,rack_bay_rotation[i]])
|
pcb_bmaxz+floorthick+case_offset_bz+pcb_loc_z]) 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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user