added individual standoff control for rack case, fixed, open and removable bays
This commit is contained in:
@@ -150,7 +150,7 @@ if(case_design == "rack" && side == "bottom") {
|
|||||||
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];
|
pcb_loc_z = rack_bay_xyz_loc[r][2];
|
||||||
|
|
||||||
translate([pcb_loc_x,pcb_loc_y,pcb_loc_z]) 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
|
||||||
if(sbc_bottom_standoffs == true) {
|
if(sbc_bottom_standoffs == true) {
|
||||||
for (i=[1:11:len(sbc_data[s[0]])-2]) {
|
for (i=[1:11:len(sbc_data[s[0]])-2]) {
|
||||||
@@ -307,7 +307,7 @@ if(case_design == "rack" && side == "bottom") {
|
|||||||
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];
|
pcb_loc_z = rack_bay_xyz_loc[r][2];
|
||||||
|
|
||||||
translate([pcb_loc_x,pcb_loc_y,pcb_loc_z]) rotate([0,0,rack_bay_rotation[r]]) union() {
|
translate([pcb_loc_x,pcb_loc_y,0]) rotate([0,0,rack_bay_rotation[r]]) union() {
|
||||||
// primary pcb standoffs
|
// primary pcb standoffs
|
||||||
if(sbc_bottom_standoffs == true) {
|
if(sbc_bottom_standoffs == true) {
|
||||||
for (i=[1:11:len(sbc_data[s[0]])-2]) {
|
for (i=[1:11:len(sbc_data[s[0]])-2]) {
|
||||||
@@ -988,7 +988,7 @@ module bay_tray(depth, bay) {
|
|||||||
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_xyz_loc[bay][2];
|
||||||
|
|
||||||
translate([pcb_loc_x,pcb_loc_y+floorthick+gap,pcb_loc_z]) 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
|
||||||
if(sbc_bottom_standoffs == true) {
|
if(sbc_bottom_standoffs == true) {
|
||||||
for (i=[1:11:len(sbc_data[s[0]])-2]) {
|
for (i=[1:11:len(sbc_data[s[0]])-2]) {
|
||||||
@@ -1107,7 +1107,7 @@ module bay_tray(depth, bay) {
|
|||||||
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_xyz_loc[bay][2];
|
||||||
|
|
||||||
translate([pcb_loc_x,pcb_loc_y+floorthick+gap,pcb_loc_z]) 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
|
||||||
if(sbc_bottom_standoffs == true) {
|
if(sbc_bottom_standoffs == true) {
|
||||||
for (i=[1:11:len(sbc_data[s[0]])-2]) {
|
for (i=[1:11:len(sbc_data[s[0]])-2]) {
|
||||||
|
|||||||
@@ -534,12 +534,12 @@ 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],0],
|
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],0],
|
[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],0],
|
[rack_bay3_xyz_loc[0],rack_bay3_xyz_loc[1],rack_bay3_xyz_loc[2]],
|
||||||
[rack_bay4_xyz_loc[0],rack_bay4_xyz_loc[1],0],
|
[rack_bay4_xyz_loc[0],rack_bay4_xyz_loc[1],rack_bay4_xyz_loc[2]],
|
||||||
[rack_bay5_xyz_loc[0],rack_bay5_xyz_loc[1],0],
|
[rack_bay5_xyz_loc[0],rack_bay5_xyz_loc[1],rack_bay5_xyz_loc[2]],
|
||||||
[rack_bay6_xyz_loc[0],rack_bay6_xyz_loc[1],0]];
|
[rack_bay6_xyz_loc[0],rack_bay6_xyz_loc[1],rack_bay6_xyz_loc[2]]];
|
||||||
|
|
||||||
rack_bay_rotation = [rack_bay1_rotation, rack_bay2_rotation, rack_bay3_rotation, rack_bay4_rotation, rack_bay5_rotation, rack_bay6_rotation];
|
rack_bay_rotation = [rack_bay1_rotation, rack_bay2_rotation, rack_bay3_rotation, rack_bay4_rotation, rack_bay5_rotation, rack_bay6_rotation];
|
||||||
rack_bay_face = [rack_bay1_face, rack_bay2_face, rack_bay3_face, rack_bay4_face, rack_bay5_face, rack_bay6_face];
|
rack_bay_face = [rack_bay1_face, rack_bay2_face, rack_bay3_face, rack_bay4_face, rack_bay5_face, rack_bay6_face];
|
||||||
@@ -1187,7 +1187,6 @@ if (view == "model") {
|
|||||||
for(i = [0:len(rack_bay_sbc)-1]) {
|
for(i = [0:len(rack_bay_sbc)-1]) {
|
||||||
if(rack_bay_sbc[i] != "empty" && rack_bay_face[i] != "removable") {
|
if(rack_bay_sbc[i] != "empty" && rack_bay_face[i] != "removable") {
|
||||||
s = search([rack_bay_sbc[i]],sbc_data);
|
s = search([rack_bay_sbc[i]],sbc_data);
|
||||||
pcb_loc_z = rack_bay_xyz_loc[i][2];
|
|
||||||
pcb_id = sbc_data[s[0]][4];
|
pcb_id = sbc_data[s[0]][4];
|
||||||
pcb_width = sbc_data[s[0]][10][0];
|
pcb_width = sbc_data[s[0]][10][0];
|
||||||
pcb_depth = sbc_data[s[0]][10][1];
|
pcb_depth = sbc_data[s[0]][10][1];
|
||||||
@@ -1199,6 +1198,8 @@ if (view == "model") {
|
|||||||
|
|
||||||
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];
|
||||||
|
|
||||||
translate([pcb_loc_x ,pcb_loc_y,bottom_height-pcb_z+pcb_loc_z-adj])
|
translate([pcb_loc_x ,pcb_loc_y,bottom_height-pcb_z+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);
|
||||||
@@ -1206,7 +1207,6 @@ if (view == "model") {
|
|||||||
if(rack_bay_sbc[i] != "empty" && rack_bay_face[i] == "removable") {
|
if(rack_bay_sbc[i] != "empty" && rack_bay_face[i] == "removable") {
|
||||||
bayadj = i == 0 ? -74 : -75.5;
|
bayadj = i == 0 ? -74 : -75.5;
|
||||||
s = search([rack_bay_sbc[i]],sbc_data);
|
s = search([rack_bay_sbc[i]],sbc_data);
|
||||||
pcb_loc_z = rack_bay_xyz_loc[i][2];
|
|
||||||
pcb_id = sbc_data[s[0]][4];
|
pcb_id = sbc_data[s[0]][4];
|
||||||
pcb_width = sbc_data[s[0]][10][0];
|
pcb_width = sbc_data[s[0]][10][0];
|
||||||
pcb_depth = sbc_data[s[0]][10][1];
|
pcb_depth = sbc_data[s[0]][10][1];
|
||||||
@@ -1222,6 +1222,7 @@ if (view == "model") {
|
|||||||
pcb_loc_y = rack_bay_rotation[i] == 270 ? rack_bay_xyz_loc[i][1]+pcb_width :
|
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_rotation[i] == 180 ? rack_bay_xyz_loc[i][1]+pcb_depth :
|
||||||
rack_bay_xyz_loc[i][1];
|
rack_bay_xyz_loc[i][1];
|
||||||
|
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]])
|
bottom_height-pcb_z+pcb_loc_z-adj+floorthick]) rotate([0,0,rack_bay_rotation[i]])
|
||||||
|
|||||||
Reference in New Issue
Block a user