repositioned top and bottom cover patterns, alignment adjustments for removable bay and other changes
This commit is contained in:
@@ -126,7 +126,7 @@ if(case_design == "rack" && side == "bottom") {
|
|||||||
}
|
}
|
||||||
// pcb and multi-pcb standoff holes
|
// pcb and multi-pcb standoff holes
|
||||||
for(r = [0:len(rack_bay_sbc)-1]) {
|
for(r = [0:len(rack_bay_sbc)-1]) {
|
||||||
if(rack_bay_sbc[r] != "empty" && rack_bay_face[r] != "removable") {
|
if(rack_bay_sbc[r] != "none" && rack_bay_face[r] != "removable") {
|
||||||
s = search([rack_bay_sbc[r]],sbc_data);
|
s = search([rack_bay_sbc[r]],sbc_data);
|
||||||
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];
|
||||||
@@ -249,29 +249,30 @@ if(case_design == "rack" && side == "bottom") {
|
|||||||
}
|
}
|
||||||
// bottom cover pattern
|
// bottom cover pattern
|
||||||
for(r = [0:len(rack_bay_sbc)-1]) {
|
for(r = [0:len(rack_bay_sbc)-1]) {
|
||||||
|
vent_offset = -75+32;
|
||||||
if(bottom_cover_pattern != "solid") {
|
if(bottom_cover_pattern != "solid") {
|
||||||
if(bottom_cover_pattern == "hex_5mm") {
|
if(bottom_cover_pattern == "hex_5mm") {
|
||||||
translate([rack_bay_xyz_loc[r][0]+25,rack_bay_xyz_loc[r][1]+10,-floorthick+adj])
|
translate([-gap-wallthick-1+rack_asm_gap/2+75*(r+1)+vent_offset,rack_bay_xyz_loc[r][1]+10,-floorthick+adj])
|
||||||
vent_hex(15/3.75,(depth-40)/6,floorthick+4,5,1.5,"horizontal");
|
vent_hex(15/3.75,(depth-40)/6,floorthick+4,5,1.5,"horizontal");
|
||||||
}
|
}
|
||||||
if(bottom_cover_pattern == "hex_8mm") {
|
if(bottom_cover_pattern == "hex_8mm") {
|
||||||
translate([rack_bay_xyz_loc[r][0]+10,rack_bay_xyz_loc[r][1]+5,-floorthick+adj])
|
translate([-gap-wallthick-1+rack_asm_gap/2+75*(r+1)+vent_offset-10,rack_bay_xyz_loc[r][1]+5,-floorthick+adj])
|
||||||
vent_hex(35/5.5,(depth-10)/9.5,floorthick+4,8,1.5,"horizontal");
|
vent_hex(35/5.5,(depth-10)/9.5,floorthick+4,8,1.5,"horizontal");
|
||||||
}
|
}
|
||||||
if(bottom_cover_pattern == "linear_vertical") {
|
if(bottom_cover_pattern == "linear_vertical") {
|
||||||
translate([rack_bay_xyz_loc[r][0]+10,rack_bay_xyz_loc[r][1]+10,-floorthick+adj])
|
translate([-gap-wallthick-1+rack_asm_gap/2+75*(r+1)+vent_offset,rack_bay_xyz_loc[r][1]+10,-floorthick+adj])
|
||||||
vent(2,12,floorthick+4,1,1,9,"horizontal");
|
vent(2,25,floorthick+4,1,1,9,"horizontal");
|
||||||
translate([rack_bay_xyz_loc[r][0]+10,rack_bay_xyz_loc[r][1]+55,-floorthick+adj])
|
translate([rack_bay_xyz_loc[r][0]+10,rack_bay_xyz_loc[r][1]+55,-floorthick+adj])
|
||||||
vent(2,12,floorthick+4,1,1,9,"horizontal");
|
vent(2,25,floorthick+4,1,1,9,"horizontal");
|
||||||
}
|
}
|
||||||
if(bottom_cover_pattern == "linear_horizontal") {
|
if(bottom_cover_pattern == "linear_horizontal") {
|
||||||
translate([rack_bay_xyz_loc[r][0]+10,rack_bay_xyz_loc[r][1]+10,-floorthick+adj])
|
translate([-gap-wallthick-1+rack_asm_gap/2+75*(r+1)+vent_offset-10,rack_bay_xyz_loc[r][1]+10,-floorthick+adj])
|
||||||
vent(35-2*(wallthick+gap),wallthick,floorthick+4,1,(depth-2*wallthick-gap)/6,1,"horizontal");
|
vent(35-2*(wallthick+gap),wallthick,floorthick+4,1,(depth-2*wallthick-gap)/4,1,"horizontal");
|
||||||
}
|
}
|
||||||
if(bottom_cover_pattern == "astroid") {
|
if(bottom_cover_pattern == "astroid") {
|
||||||
for(c=[rack_bay_xyz_loc[r][1]+10:12:85+rack_bay_xyz_loc[r][1]]) {
|
for(c=[rack_bay_xyz_loc[r][1]+10:12:85+rack_bay_xyz_loc[r][1]]) {
|
||||||
for(r=[rack_bay_xyz_loc[r][0]:12:55+rack_bay_xyz_loc[r][0]]) {
|
for(r=[rack_bay_xyz_loc[r][0]:12:55+rack_bay_xyz_loc[r][0]]) {
|
||||||
translate([r,c,-floorthick]) linear_extrude(floorthick+5) import("./dxf/astroid_8mm.dxf");
|
translate([r,c,-floorthick-adj]) linear_extrude(floorthick+5) import("./dxf/astroid_8mm.dxf");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -287,7 +288,7 @@ if(case_design == "rack" && side == "bottom") {
|
|||||||
}
|
}
|
||||||
// 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]) {
|
||||||
if(rack_bay_sbc[r] != "empty" && rack_bay_face[r] != "removable") {
|
if(rack_bay_sbc[r] != "none" && rack_bay_face[r] != "removable") {
|
||||||
s = search([rack_bay_sbc[r]],sbc_data);
|
s = search([rack_bay_sbc[r]],sbc_data);
|
||||||
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];
|
||||||
@@ -555,25 +556,25 @@ if(case_design == "rack" && side == "bottom") {
|
|||||||
open_radius = rack_bay_face[r] == "removable" ? 1 : 6;
|
open_radius = rack_bay_face[r] == "removable" ? 1 : 6;
|
||||||
open_height = rack_bay_face[r] == "removable" ? 2 : 6;
|
open_height = rack_bay_face[r] == "removable" ? 2 : 6;
|
||||||
|
|
||||||
open_offset = r == 0 && rack_bay_wall[r] == true ? wallthick+gap+.5 :
|
open_offset = r == 0 && rack_bay_wall[r] == true ? wallthick :
|
||||||
r == 0 && rack_bay_wall[r] == false && rack_bay_sbc[r+1] == "empty" ? wallthick+gap+1 :
|
r == 0 && rack_bay_wall[r] == false && rack_bay_sbc[r+1] == "none" ? wallthick+gap+.5 :
|
||||||
r == 2 && rack_width == 10 ? 3 :
|
r == 2 && rack_width == 10 ? 3 :
|
||||||
r >= 1 && r < 5 && rack_bay_wall[r] == true ? 3 :
|
r >= 1 && r < 5 && rack_bay_wall[r] == true ? 2.5 :
|
||||||
r >= 1 && r < 5 && rack_bay_wall[r] == false && rack_bay_sbc[r+1] == "empty" ? wallthick :
|
r >= 1 && r < 5 && rack_bay_wall[r] == false && rack_bay_sbc[r+1] == "none" ? 2.5 :
|
||||||
r == 5 ? 3 : 3;
|
r == 5 ? 3 : 3;
|
||||||
|
|
||||||
open_size = r == 0 && rack_bay_wall[r] == true ? 75-wallthick-gap-2.5 :
|
open_size = r == 0 && rack_bay_wall[r] == true ? 75-wallthick-gap-2 :
|
||||||
r == 0 && rack_bay_wall[r] == false && rack_bay_sbc[r+1] == "empty" ? 75-wallthick-gap-3+baysize :
|
r == 0 && rack_bay_wall[r] == false && rack_bay_sbc[r+1] == "none" ? 75-wallthick-gap-2.5+baysize :
|
||||||
r == 1 && rack_width == 10 && rack_bay_wall[r] == false && rack_bay_sbc[r+1] == "empty" ? 70-wallthick-gap+baysize :
|
r == 1 && rack_width == 10 && rack_bay_wall[r] == false && rack_bay_sbc[r+1] == "none" ? 70-wallthick-gap+baysize :
|
||||||
r == 2 && rack_width == 10 ? 65.25 :
|
r == 2 && rack_width == 10 ? 65.25 :
|
||||||
r >= 1 && r < 5 && rack_bay_wall[r] == true ? 75-wallthick-gap-2 :
|
r >= 1 && r < 5 && rack_bay_wall[r] == true ? 75-wallthick-gap-2 :
|
||||||
r >= 1 && r < 5 && rack_bay_wall[r] == false && rack_bay_sbc[r+1] == "empty" ||
|
r >= 1 && r < 5 && rack_bay_wall[r] == false && rack_bay_sbc[r+1] == "none" ||
|
||||||
(r != 2 && rack_width == 10) ? 75-wallthick-gap+baysize :
|
(r != 2 && rack_width == 10) ? 75-wallthick-gap+baysize-.5 :
|
||||||
r == 5 ? 75-wallthick-sidethick+.125 : 69;
|
r == 5 ? 74.75-wallthick-sidethick : 69;
|
||||||
|
|
||||||
translate([open_offset-wallthick-gap+rack_asm_gap/2+75*(r+1)-75,
|
translate([open_offset-wallthick-gap+rack_asm_gap/2+75*(r+1)-75,
|
||||||
-wallthick-gap-adj,floorthick+case_z+open_height])
|
-wallthick-gap-adj,floorthick+case_z+open_height])
|
||||||
rotate([270,0,0]) slab([open_size,case_z,2*wallthick+15],open_radius);
|
rotate([270,0,0]) slab([open_size,case_z,2*wallthick+8],open_radius);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// subtractive accessories
|
// subtractive accessories
|
||||||
@@ -619,7 +620,7 @@ if(case_design == "rack" && side == "bottom") {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
for(r = [0:len(rack_bay_sbc)-1]) {
|
for(r = [0:len(rack_bay_sbc)-1]) {
|
||||||
if(rack_bay_sbc[r] != "empty" && rack_bay_face[r] != "removable") {
|
if(rack_bay_sbc[r] != "none" && rack_bay_face[r] != "removable") {
|
||||||
s = search([rack_bay_sbc[r]],sbc_data);
|
s = search([rack_bay_sbc[r]],sbc_data);
|
||||||
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];
|
||||||
@@ -635,18 +636,18 @@ if(case_design == "rack" && side == "bottom") {
|
|||||||
pcb_loc_z = rack_bay_xyz_loc[r][2];
|
pcb_loc_z = rack_bay_xyz_loc[r][2];
|
||||||
|
|
||||||
// sbc openings
|
// sbc openings
|
||||||
if(sbc_highlight == true && rack_bay_sbc[r] != "empty") {
|
if(sbc_highlight == true && rack_bay_sbc[r] != "none") {
|
||||||
#translate([pcb_loc_x ,pcb_loc_y,pcb_bmaxz+floorthick+case_offset_bz+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] != "none") {
|
||||||
translate([pcb_loc_x ,pcb_loc_y,pcb_bmaxz+floorthick+case_offset_bz+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
|
|
||||||
translate([150-gap-wallthick,-gap-wallthick-1,-adj]) cube([rack_asm_gap,depth+2,case_z+2*adj]);
|
|
||||||
translate([300-gap-wallthick,-gap-wallthick-1,-adj]) cube([rack_asm_gap,depth+2,case_z+2*adj]);
|
|
||||||
}
|
}
|
||||||
|
// case divide
|
||||||
|
translate([150-gap-wallthick,-gap-wallthick-1,-adj]) cube([rack_asm_gap,depth+2,case_z+2*adj]);
|
||||||
|
translate([300-gap-wallthick,-gap-wallthick-1,-adj]) cube([rack_asm_gap,depth+2,case_z+2*adj]);
|
||||||
}
|
}
|
||||||
// clean fillets
|
// clean fillets
|
||||||
if(case_design == "shell") {
|
if(case_design == "shell") {
|
||||||
@@ -802,29 +803,30 @@ if(case_design == "rack" && side == "top") {
|
|||||||
}
|
}
|
||||||
// top cover pattern
|
// top cover pattern
|
||||||
for(r = [0:len(rack_bay_sbc)-1]) {
|
for(r = [0:len(rack_bay_sbc)-1]) {
|
||||||
|
vent_offset = -75+32;
|
||||||
if(top_cover_pattern != "solid") {
|
if(top_cover_pattern != "solid") {
|
||||||
if(top_cover_pattern == "hex_5mm") {
|
if(top_cover_pattern == "hex_5mm") {
|
||||||
translate([rack_bay_xyz_loc[r][0]+25,rack_bay_xyz_loc[r][1]+10,-floorthick+adj])
|
translate([-gap-wallthick-1+rack_asm_gap/2+75*(r+1)+vent_offset,rack_bay_xyz_loc[r][1]+10,case_z-floorthick-2+adj])
|
||||||
vent_hex(15/3.75,(depth-40)/6,floorthick+4,5,1.5,"horizontal");
|
vent_hex(15/3.75,(depth-40)/6,floorthick+4,5,1.5,"horizontal");
|
||||||
}
|
}
|
||||||
if(top_cover_pattern == "hex_8mm") {
|
if(top_cover_pattern == "hex_8mm") {
|
||||||
translate([rack_bay_xyz_loc[r][0]+10,rack_bay_xyz_loc[r][1]+5,-floorthick+adj])
|
translate([-gap-wallthick-1+rack_asm_gap/2+75*(r+1)+vent_offset-10,rack_bay_xyz_loc[r][1]+5,case_z-floorthick-2+adj])
|
||||||
vent_hex(35/5.5,(depth-10)/9.5,floorthick+4,8,1.5,"horizontal");
|
vent_hex(35/5.5,(depth-10)/9.5,floorthick+4,8,1.5,"horizontal");
|
||||||
}
|
}
|
||||||
if(top_cover_pattern == "linear_vertical") {
|
if(top_cover_pattern == "linear_vertical") {
|
||||||
translate([rack_bay_xyz_loc[r][0]+10,rack_bay_xyz_loc[r][1]+10,-floorthick+adj])
|
translate([-gap-wallthick-1+rack_asm_gap/2+75*(r+1)+vent_offset,rack_bay_xyz_loc[r][1]+10,case_z-floorthick-2+adj])
|
||||||
vent(2,12,floorthick+4,1,1,9,"horizontal");
|
vent(2,25,floorthick+4,1,1,9,"horizontal");
|
||||||
translate([rack_bay_xyz_loc[r][0]+10,rack_bay_xyz_loc[r][1]+55,-floorthick+adj])
|
translate([-gap-wallthick-1+rack_asm_gap/2+75*(r+1)+vent_offset,rack_bay_xyz_loc[r][1]+55,case_z-floorthick-2+adj])
|
||||||
vent(2,12,floorthick+4,1,1,9,"horizontal");
|
vent(2,25,floorthick+4,1,1,9,"horizontal");
|
||||||
}
|
}
|
||||||
if(top_cover_pattern == "linear_horizontal") {
|
if(top_cover_pattern == "linear_horizontal") {
|
||||||
translate([rack_bay_xyz_loc[r][0]+10,rack_bay_xyz_loc[r][1]+10,-floorthick+adj])
|
translate([-gap-wallthick-1+rack_asm_gap/2+75*(r+1)+vent_offset-10,rack_bay_xyz_loc[r][1]+10,case_z-floorthick-2+adj])
|
||||||
vent(35-2*(wallthick+gap),wallthick,floorthick+4,1,(depth-2*wallthick-gap)/6,1,"horizontal");
|
vent(35-2*(wallthick+gap),wallthick,floorthick+4,1,(depth-2*wallthick-gap)/4,1,"horizontal");
|
||||||
}
|
}
|
||||||
if(top_cover_pattern == "astroid") {
|
if(top_cover_pattern == "astroid") {
|
||||||
for(c=[rack_bay_xyz_loc[r][1]+10:12:85+rack_bay_xyz_loc[r][1]]) {
|
for(c=[rack_bay_xyz_loc[r][1]+10:12:85+rack_bay_xyz_loc[r][1]]) {
|
||||||
for(r=[rack_bay_xyz_loc[r][0]:12:55+rack_bay_xyz_loc[r][0]]) {
|
for(r=[rack_bay_xyz_loc[r][0]:12:55+rack_bay_xyz_loc[r][0]]) {
|
||||||
translate([r,c,-floorthick]) linear_extrude(floorthick+5) import("./dxf/astroid_8mm.dxf");
|
translate([r,c,case_z-floorthick-4+adj]) linear_extrude(floorthick+5) import("./dxf/astroid_8mm.dxf");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -873,7 +875,7 @@ if(case_design == "rack" && side == "top") {
|
|||||||
}
|
}
|
||||||
// sbc openings
|
// sbc openings
|
||||||
for(r = [0:len(rack_bay_sbc)-1]) {
|
for(r = [0:len(rack_bay_sbc)-1]) {
|
||||||
if(rack_bay_sbc[r] != "empty" && rack_bay_face[r] != "removable") {
|
if(rack_bay_sbc[r] != "none" && rack_bay_face[r] != "removable") {
|
||||||
s = search([rack_bay_sbc[r]],sbc_data);
|
s = search([rack_bay_sbc[r]],sbc_data);
|
||||||
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];
|
||||||
@@ -891,11 +893,11 @@ if(case_design == "rack" && side == "top") {
|
|||||||
pcb_loc_z = rack_bay_xyz_loc[r][2];
|
pcb_loc_z = rack_bay_xyz_loc[r][2];
|
||||||
|
|
||||||
// sbc openings
|
// sbc openings
|
||||||
if(sbc_highlight == true && rack_bay_sbc[r] != "empty") {
|
if(sbc_highlight == true && rack_bay_sbc[r] != "none") {
|
||||||
#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,bottom_height-pcb_z+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] != "none") {
|
||||||
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,bottom_height-pcb_z+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);
|
||||||
}
|
}
|
||||||
@@ -930,11 +932,11 @@ module bay_tray(depth, bay) {
|
|||||||
|
|
||||||
rack_asm_gap = .25;
|
rack_asm_gap = .25;
|
||||||
rack_asm_size = 5;
|
rack_asm_size = 5;
|
||||||
reminsert = rack_bay_wall[bay] == false && bay == 0 && rack_bay_sbc[bay+1] == "empty" ? 74+baysize :
|
reminsert = rack_bay_wall[bay] == false && bay == 0 && rack_bay_sbc[bay+1] == "none" ? 74+baysize :
|
||||||
rack_width == 10 && bay == 1 && rack_bay_wall[bay] == false &&
|
rack_width == 10 && bay == 1 && rack_bay_wall[bay] == false &&
|
||||||
rack_bay_sbc[bay+1] == "empty" ? 70+baysize :
|
rack_bay_sbc[bay+1] == "none" ? 70+baysize :
|
||||||
rack_width == 10 && bay == 2 ? 70 :
|
rack_width == 10 && bay == 2 ? 70 :
|
||||||
rack_bay_wall[bay] == false && bay != 0 && rack_bay_sbc[bay+1] == "empty" ? 75+baysize : baysize;
|
rack_bay_wall[bay] == false && bay != 0 && rack_bay_sbc[bay+1] == "none" ? 75+baysize : baysize;
|
||||||
|
|
||||||
difference() {
|
difference() {
|
||||||
union() {
|
union() {
|
||||||
@@ -954,35 +956,35 @@ module bay_tray(depth, bay) {
|
|||||||
// rear assembly block opening
|
// rear assembly block opening
|
||||||
// rear left
|
// rear left
|
||||||
translate([2-2*rack_asm_size,depth-wallthick-1.25,-adj])
|
translate([2-2*rack_asm_size,depth-wallthick-1.25,-adj])
|
||||||
cube([.125+(2*rack_asm_size),rack_asm_size,rack_asm_size]);
|
cube([.125+(2*rack_asm_size),rack_asm_size,rack_asm_size+.25]);
|
||||||
// rear middle
|
// rear middle
|
||||||
translate([2+baysize-2*rack_asm_size,depth-wallthick-1.25,-adj])
|
translate([2+baysize-2*rack_asm_size,depth-wallthick-1.25,-adj])
|
||||||
cube([.125+(2*rack_asm_size),rack_asm_size,rack_asm_size]);
|
cube([.125+(2*rack_asm_size),rack_asm_size,rack_asm_size+.25]);
|
||||||
// rear right
|
// rear right
|
||||||
translate([2+2*baysize-2*rack_asm_size+1.25-.25,depth-wallthick-1.25,-adj])
|
translate([2+2*baysize-2*rack_asm_size+1.25-.25,depth-wallthick-1.25,-adj])
|
||||||
cube([.125+(2*rack_asm_size),rack_asm_size,rack_asm_size]);
|
cube([.125+(2*rack_asm_size),rack_asm_size,rack_asm_size+.25]);
|
||||||
// front assembly block opening
|
// front assembly block opening
|
||||||
// front left
|
// front left
|
||||||
translate([2-2*rack_asm_size,-gap,-adj])
|
translate([2-(2*rack_asm_size)-.25,-gap,-adj])
|
||||||
cube([.125+(2*rack_asm_size),rack_asm_size,rack_asm_size]);
|
cube([.25+(2*rack_asm_size),rack_asm_size,rack_asm_size+.25]);
|
||||||
// front middle
|
// front middle
|
||||||
if((bay == 1 || bay) == 3 && reminsert/9 > 10)
|
if((bay == 1 || bay) == 3 && reminsert/9 > 10)
|
||||||
translate([2+baysize-2*rack_asm_size,-gap,-adj])
|
translate([2+baysize-2*rack_asm_size,-gap,-adj])
|
||||||
cube([.125+(2*rack_asm_size),rack_asm_size,rack_asm_size]);
|
cube([.125+(2*rack_asm_size),rack_asm_size,rack_asm_size+.25]);
|
||||||
// front right
|
// front right
|
||||||
translate([2+2*baysize-2*rack_asm_size+1.25-.25,-gap,-adj])
|
translate([2*baysize-2*rack_asm_size+1.25-.25,-gap,-adj])
|
||||||
cube([.125+(2*rack_asm_size),rack_asm_size,rack_asm_size]);
|
cube([.125+(2*rack_asm_size),rack_asm_size,rack_asm_size+.25]);
|
||||||
|
|
||||||
// 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+wallthick-adj,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+wallthick-adj,3])
|
translate([-gap-wallthick-1+(rack_asm_gap/2)+14,gap+wallthick-adj,2])
|
||||||
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
|
||||||
if(rack_bay_sbc[bay] != "empty") {
|
if(rack_bay_sbc[bay] != "none") {
|
||||||
s = search([rack_bay_sbc[bay]],sbc_data);
|
s = search([rack_bay_sbc[bay]],sbc_data);
|
||||||
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];
|
||||||
@@ -995,9 +997,7 @@ 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_sbc[bay] == "n2" || rack_bay_sbc[bay] == "m1" ? rack_bay_xyz_loc[bay][2]+6 :
|
pcb_loc_z = rack_bay_xyz_loc[bay][2];
|
||||||
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
|
||||||
if(sbc_bottom_standoffs == true) {
|
if(sbc_bottom_standoffs == true) {
|
||||||
@@ -1103,13 +1103,13 @@ 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] != "none") {
|
||||||
#translate([pcb_loc_x, pcb_loc_y+gap,pcb_bmaxz+case_offset_bz+pcb_loc_z-pcb_z-adj])
|
#translate([pcb_loc_x, pcb_loc_y+gap+1.5,pcb_bmaxz+case_offset_bz+pcb_loc_z+1-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] != "none") {
|
||||||
translate([pcb_loc_x, pcb_loc_y+gap,pcb_bmaxz+case_offset_bz+pcb_loc_z-pcb_z-adj])
|
translate([pcb_loc_x, pcb_loc_y+gap+1.5,pcb_bmaxz+case_offset_bz+pcb_loc_z+1-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);
|
||||||
}
|
}
|
||||||
@@ -1117,7 +1117,7 @@ module bay_tray(depth, bay) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// pcb and multi-pcb standoffs
|
// pcb and multi-pcb standoffs
|
||||||
if(rack_bay_sbc[bay] != "empty") {
|
if(rack_bay_sbc[bay] != "none") {
|
||||||
s = search([rack_bay_sbc[bay]],sbc_data);
|
s = search([rack_bay_sbc[bay]],sbc_data);
|
||||||
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];
|
||||||
@@ -1153,7 +1153,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],
|
||||||
pcb_bmaxz+floorthick+case_offset_bz+pcb_loc_z+bottom_rear_left_adjust,
|
pcb_bmaxz+1+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],
|
||||||
@@ -1175,7 +1175,7 @@ module bay_tray(depth, bay) {
|
|||||||
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],
|
||||||
pcb_bmaxz+floorthick+case_offset_bz+pcb_loc_z+bottom_front_left_adjust,
|
pcb_bmaxz+1+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],
|
||||||
@@ -1197,7 +1197,7 @@ module bay_tray(depth, bay) {
|
|||||||
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],
|
||||||
pcb_bmaxz+floorthick+case_offset_bz+pcb_loc_z+bottom_rear_right_adjust,
|
pcb_bmaxz+1+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],
|
||||||
@@ -1219,7 +1219,7 @@ module bay_tray(depth, bay) {
|
|||||||
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],
|
||||||
pcb_bmaxz+floorthick+case_offset_bz+pcb_loc_z+bottom_front_right_adjust,
|
pcb_bmaxz+1+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],
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -79,7 +79,7 @@ rack_width = 19; //[10,19]
|
|||||||
// size of rack mount cases 1U or 2U //
|
// size of rack mount cases 1U or 2U //
|
||||||
rack_size = "1u"; //["1u","1u+","1u++","2u"]
|
rack_size = "1u"; //["1u","1u+","1u++","2u"]
|
||||||
// enable rack io plate opening for sbc
|
// enable rack io plate opening for sbc
|
||||||
Rack_Bay1 = "empty"; // ["empty", "c1+", "c2", "c4", "hc4", "xu4", "xu4q", "mc1", "hc1", "n1", "n2", "n2+", "n2l", "n2lq", "m1", "m1s", "m2", "h2", "h2+", "h3", "h3+", "h4", "h4+", "h4_ultra", "show2", "rpipico", "rpipicow", "rpicm4+ioboard", "rpicm1", "rpicm3", "rpicm3l", "rpicm3+", "rpicm4s", "rpicm4", "rpicm4l", "rpizero", "rpizerow", "rpizero2w", "rpi1a+", "rpi1b+", "rpi2b", "rpi3a+", "rpi3b", "rpi3b+", "rpi4b", "rpi5", "a64", "a64lts", "rock64", "rockpro64", "quartz64a", "quartz64b", "h64b", "star64", "soedge_a-baseboard", "soedge_rk1808", "rock4a", "rock4b", "rock4a+", "rock4b+", "rock4c", "rock4c+", "rock5b-v1.3", "rock5b", "rock5bq", "rock5b+", "nio12l", "vim1", "vim2", "vim3", "vim3l", "vim4", "tinkerboard", "tinkerboard-s", "tinkerboard-2", "tinkerboard-2s", "tinkerboard-r2", "tinkerboard-r2s", "opizero", "opizero2", "opir1plus_lts", "opir1", "opi5", "opi5max", "jetsonnano", "lepotato", "sweetpotato", "tritium-h2+", "tritium-h3", "tritium-h5", "solitude", "alta", "atomicpi", "visionfive2", "visionfive2q", "bpif3", "milk-v_duos", "licheerv+dock", "rak19007", "cnano-avr128da48", "nodemcu-32s", "cs-solarmeter", "feather-m0_express", "feather-m0_wifi", "feather-m4_express"]
|
Rack_Bay1 = "none"; // ["none", "c1+", "c2", "c4", "hc4", "xu4", "xu4q", "mc1", "hc1", "n1", "n2", "n2+", "n2l", "n2lq", "m1", "m1s", "m2", "h2", "h2+", "h3", "h3+", "h4", "h4+", "h4_ultra", "show2", "rpipico", "rpipicow", "rpicm4+ioboard", "rpicm1", "rpicm3", "rpicm3l", "rpicm3+", "rpicm4s", "rpicm4", "rpicm4l", "rpizero", "rpizerow", "rpizero2w", "rpi1a+", "rpi1b+", "rpi2b", "rpi3a+", "rpi3b", "rpi3b+", "rpi4b", "rpi5", "a64", "a64lts", "rock64", "rockpro64", "quartz64a", "quartz64b", "h64b", "star64", "soedge_a-baseboard", "soedge_rk1808", "rock4a", "rock4b", "rock4a+", "rock4b+", "rock4c", "rock4c+", "rock5b-v1.3", "rock5b", "rock5bq", "rock5b+", "nio12l", "vim1", "vim2", "vim3", "vim3l", "vim4", "tinkerboard", "tinkerboard-s", "tinkerboard-2", "tinkerboard-2s", "tinkerboard-r2", "tinkerboard-r2s", "opizero", "opizero2", "opir1plus_lts", "opir1", "opi5", "opi5max", "jetsonnano", "lepotato", "sweetpotato", "tritium-h2+", "tritium-h3", "tritium-h5", "solitude", "alta", "atomicpi", "visionfive2", "visionfive2q", "bpif3", "milk-v_duos", "licheerv+dock", "rak19007", "cnano-avr128da48", "nodemcu-32s", "cs-solarmeter", "feather-m0_express", "feather-m0_wifi", "feather-m4_express"]
|
||||||
rack_bay1_xyz_loc = [0,0,0]; // [0:.5:450]
|
rack_bay1_xyz_loc = [0,0,0]; // [0:.5:450]
|
||||||
rack_bay1_rotation = 0; // [0:90:270]
|
rack_bay1_rotation = 0; // [0:90:270]
|
||||||
rack_bay1_face = "fixed"; //["open","fixed","removable","vent"]
|
rack_bay1_face = "fixed"; //["open","fixed","removable","vent"]
|
||||||
@@ -87,7 +87,7 @@ rack_bay1_wall = false; // [true,false]
|
|||||||
rack_bay1_rear_fan = false; //[true,false]
|
rack_bay1_rear_fan = false; //[true,false]
|
||||||
rack_bay1_rear_conduit = "none"; //["none","conduit","grommet","grommets-vertical"]
|
rack_bay1_rear_conduit = "none"; //["none","conduit","grommet","grommets-vertical"]
|
||||||
|
|
||||||
Rack_Bay2 = "empty"; // ["empty", "c1+", "c2", "c4", "hc4", "xu4", "xu4q", "mc1", "hc1", "n1", "n2", "n2+", "n2l", "n2lq", "m1", "m1s", "m2", "h2", "h2+", "h3", "h3+", "h4", "h4+", "h4_ultra", "show2", "rpipico", "rpipicow", "rpicm4+ioboard", "rpicm1", "rpicm3", "rpicm3l", "rpicm3+", "rpicm4s", "rpicm4", "rpicm4l", "rpizero", "rpizerow", "rpizero2w", "rpi1a+", "rpi1b+", "rpi2b", "rpi3a+", "rpi3b", "rpi3b+", "rpi4b", "rpi5", "a64", "a64lts", "rock64", "rockpro64", "quartz64a", "quartz64b", "h64b", "star64", "soedge_a-baseboard", "soedge_rk1808", "rock4a", "rock4b", "rock4a+", "rock4b+", "rock4c", "rock4c+", "rock5b-v1.3", "rock5b", "rock5bq", "rock5b+", "nio12l", "vim1", "vim2", "vim3", "vim3l", "vim4", "tinkerboard", "tinkerboard-s", "tinkerboard-2", "tinkerboard-2s", "tinkerboard-r2", "tinkerboard-r2s", "opizero", "opizero2", "opir1plus_lts", "opir1", "opi5", "opi5max", "jetsonnano", "lepotato", "sweetpotato", "tritium-h2+", "tritium-h3", "tritium-h5", "solitude", "alta", "atomicpi", "visionfive2", "visionfive2q", "bpif3", "milk-v_duos", "licheerv+dock", "rak19007", "cnano-avr128da48", "nodemcu-32s", "cs-solarmeter", "feather-m0_express", "feather-m0_wifi", "feather-m4_express"]
|
Rack_Bay2 = "none"; // ["none", "c1+", "c2", "c4", "hc4", "xu4", "xu4q", "mc1", "hc1", "n1", "n2", "n2+", "n2l", "n2lq", "m1", "m1s", "m2", "h2", "h2+", "h3", "h3+", "h4", "h4+", "h4_ultra", "show2", "rpipico", "rpipicow", "rpicm4+ioboard", "rpicm1", "rpicm3", "rpicm3l", "rpicm3+", "rpicm4s", "rpicm4", "rpicm4l", "rpizero", "rpizerow", "rpizero2w", "rpi1a+", "rpi1b+", "rpi2b", "rpi3a+", "rpi3b", "rpi3b+", "rpi4b", "rpi5", "a64", "a64lts", "rock64", "rockpro64", "quartz64a", "quartz64b", "h64b", "star64", "soedge_a-baseboard", "soedge_rk1808", "rock4a", "rock4b", "rock4a+", "rock4b+", "rock4c", "rock4c+", "rock5b-v1.3", "rock5b", "rock5bq", "rock5b+", "nio12l", "vim1", "vim2", "vim3", "vim3l", "vim4", "tinkerboard", "tinkerboard-s", "tinkerboard-2", "tinkerboard-2s", "tinkerboard-r2", "tinkerboard-r2s", "opizero", "opizero2", "opir1plus_lts", "opir1", "opi5", "opi5max", "jetsonnano", "lepotato", "sweetpotato", "tritium-h2+", "tritium-h3", "tritium-h5", "solitude", "alta", "atomicpi", "visionfive2", "visionfive2q", "bpif3", "milk-v_duos", "licheerv+dock", "rak19007", "cnano-avr128da48", "nodemcu-32s", "cs-solarmeter", "feather-m0_express", "feather-m0_wifi", "feather-m4_express"]
|
||||||
rack_bay2_xyz_loc = [0,0,0]; // [0:.5:450]
|
rack_bay2_xyz_loc = [0,0,0]; // [0:.5:450]
|
||||||
rack_bay2_rotation = 0; // [0:90:270]
|
rack_bay2_rotation = 0; // [0:90:270]
|
||||||
rack_bay2_face = "fixed"; //["open","fixed","removable","vent"]
|
rack_bay2_face = "fixed"; //["open","fixed","removable","vent"]
|
||||||
@@ -95,7 +95,7 @@ rack_bay2_wall = false; // [true,false]
|
|||||||
rack_bay2_rear_fan = false; //[true,false]
|
rack_bay2_rear_fan = false; //[true,false]
|
||||||
rack_bay2_rear_conduit = "none"; //["none","conduit","grommet","grommets-vertical"]
|
rack_bay2_rear_conduit = "none"; //["none","conduit","grommet","grommets-vertical"]
|
||||||
|
|
||||||
Rack_Bay3 = "empty"; // ["empty", "c1+", "c2", "c4", "hc4", "xu4", "xu4q", "mc1", "hc1", "n1", "n2", "n2+", "n2l", "n2lq", "m1", "m1s", "m2", "h2", "h2+", "h3", "h3+", "h4", "h4+", "h4_ultra", "show2", "rpipico", "rpipicow", "rpicm4+ioboard", "rpicm1", "rpicm3", "rpicm3l", "rpicm3+", "rpicm4s", "rpicm4", "rpicm4l", "rpizero", "rpizerow", "rpizero2w", "rpi1a+", "rpi1b+", "rpi2b", "rpi3a+", "rpi3b", "rpi3b+", "rpi4b", "rpi5", "a64", "a64lts", "rock64", "rockpro64", "quartz64a", "quartz64b", "h64b", "star64", "soedge_a-baseboard", "soedge_rk1808", "rock4a", "rock4b", "rock4a+", "rock4b+", "rock4c", "rock4c+", "rock5b-v1.3", "rock5b", "rock5bq", "rock5b+", "nio12l", "vim1", "vim2", "vim3", "vim3l", "vim4", "tinkerboard", "tinkerboard-s", "tinkerboard-2", "tinkerboard-2s", "tinkerboard-r2", "tinkerboard-r2s", "opizero", "opizero2", "opir1plus_lts", "opir1", "opi5", "opi5max", "jetsonnano", "lepotato", "sweetpotato", "tritium-h2+", "tritium-h3", "tritium-h5", "solitude", "alta", "atomicpi", "visionfive2", "visionfive2q", "bpif3", "milk-v_duos", "licheerv+dock", "rak19007", "cnano-avr128da48", "nodemcu-32s", "cs-solarmeter", "feather-m0_express", "feather-m0_wifi", "feather-m4_express"]
|
Rack_Bay3 = "none"; // ["none", "c1+", "c2", "c4", "hc4", "xu4", "xu4q", "mc1", "hc1", "n1", "n2", "n2+", "n2l", "n2lq", "m1", "m1s", "m2", "h2", "h2+", "h3", "h3+", "h4", "h4+", "h4_ultra", "show2", "rpipico", "rpipicow", "rpicm4+ioboard", "rpicm1", "rpicm3", "rpicm3l", "rpicm3+", "rpicm4s", "rpicm4", "rpicm4l", "rpizero", "rpizerow", "rpizero2w", "rpi1a+", "rpi1b+", "rpi2b", "rpi3a+", "rpi3b", "rpi3b+", "rpi4b", "rpi5", "a64", "a64lts", "rock64", "rockpro64", "quartz64a", "quartz64b", "h64b", "star64", "soedge_a-baseboard", "soedge_rk1808", "rock4a", "rock4b", "rock4a+", "rock4b+", "rock4c", "rock4c+", "rock5b-v1.3", "rock5b", "rock5bq", "rock5b+", "nio12l", "vim1", "vim2", "vim3", "vim3l", "vim4", "tinkerboard", "tinkerboard-s", "tinkerboard-2", "tinkerboard-2s", "tinkerboard-r2", "tinkerboard-r2s", "opizero", "opizero2", "opir1plus_lts", "opir1", "opi5", "opi5max", "jetsonnano", "lepotato", "sweetpotato", "tritium-h2+", "tritium-h3", "tritium-h5", "solitude", "alta", "atomicpi", "visionfive2", "visionfive2q", "bpif3", "milk-v_duos", "licheerv+dock", "rak19007", "cnano-avr128da48", "nodemcu-32s", "cs-solarmeter", "feather-m0_express", "feather-m0_wifi", "feather-m4_express"]
|
||||||
rack_bay3_xyz_loc = [0,0,0]; // [0:.5:450]
|
rack_bay3_xyz_loc = [0,0,0]; // [0:.5:450]
|
||||||
rack_bay3_rotation = 0; // [0:90:270]
|
rack_bay3_rotation = 0; // [0:90:270]
|
||||||
rack_bay3_face = "fixed"; //["open","fixed","removable","vent"]
|
rack_bay3_face = "fixed"; //["open","fixed","removable","vent"]
|
||||||
@@ -103,7 +103,7 @@ rack_bay3_wall = false; // [true,false]
|
|||||||
rack_bay3_rear_fan = false; //[true,false]
|
rack_bay3_rear_fan = false; //[true,false]
|
||||||
rack_bay3_rear_conduit = "none"; //["none","conduit","grommet","grommets-vertical"]
|
rack_bay3_rear_conduit = "none"; //["none","conduit","grommet","grommets-vertical"]
|
||||||
|
|
||||||
Rack_Bay4 = "empty"; // ["empty", "c1+", "c2", "c4", "hc4", "xu4", "xu4q", "mc1", "hc1", "n1", "n2", "n2+", "n2l", "n2lq", "m1", "m1s", "m2", "h2", "h2+", "h3", "h3+", "h4", "h4+", "h4_ultra", "show2", "rpipico", "rpipicow", "rpicm4+ioboard", "rpicm1", "rpicm3", "rpicm3l", "rpicm3+", "rpicm4s", "rpicm4", "rpicm4l", "rpizero", "rpizerow", "rpizero2w", "rpi1a+", "rpi1b+", "rpi2b", "rpi3a+", "rpi3b", "rpi3b+", "rpi4b", "rpi5", "a64", "a64lts", "rock64", "rockpro64", "quartz64a", "quartz64b", "h64b", "star64", "soedge_a-baseboard", "soedge_rk1808", "rock4a", "rock4b", "rock4a+", "rock4b+", "rock4c", "rock4c+", "rock5b-v1.3", "rock5b", "rock5bq", "rock5b+", "nio12l", "vim1", "vim2", "vim3", "vim3l", "vim4", "tinkerboard", "tinkerboard-s", "tinkerboard-2", "tinkerboard-2s", "tinkerboard-r2", "tinkerboard-r2s", "opizero", "opizero2", "opir1plus_lts", "opir1", "opi5", "opi5max", "jetsonnano", "lepotato", "sweetpotato", "tritium-h2+", "tritium-h3", "tritium-h5", "solitude", "alta", "atomicpi", "visionfive2", "visionfive2q", "bpif3", "milk-v_duos", "licheerv+dock", "rak19007", "cnano-avr128da48", "nodemcu-32s", "cs-solarmeter", "feather-m0_express", "feather-m0_wifi", "feather-m4_express"]
|
Rack_Bay4 = "none"; // ["none", "c1+", "c2", "c4", "hc4", "xu4", "xu4q", "mc1", "hc1", "n1", "n2", "n2+", "n2l", "n2lq", "m1", "m1s", "m2", "h2", "h2+", "h3", "h3+", "h4", "h4+", "h4_ultra", "show2", "rpipico", "rpipicow", "rpicm4+ioboard", "rpicm1", "rpicm3", "rpicm3l", "rpicm3+", "rpicm4s", "rpicm4", "rpicm4l", "rpizero", "rpizerow", "rpizero2w", "rpi1a+", "rpi1b+", "rpi2b", "rpi3a+", "rpi3b", "rpi3b+", "rpi4b", "rpi5", "a64", "a64lts", "rock64", "rockpro64", "quartz64a", "quartz64b", "h64b", "star64", "soedge_a-baseboard", "soedge_rk1808", "rock4a", "rock4b", "rock4a+", "rock4b+", "rock4c", "rock4c+", "rock5b-v1.3", "rock5b", "rock5bq", "rock5b+", "nio12l", "vim1", "vim2", "vim3", "vim3l", "vim4", "tinkerboard", "tinkerboard-s", "tinkerboard-2", "tinkerboard-2s", "tinkerboard-r2", "tinkerboard-r2s", "opizero", "opizero2", "opir1plus_lts", "opir1", "opi5", "opi5max", "jetsonnano", "lepotato", "sweetpotato", "tritium-h2+", "tritium-h3", "tritium-h5", "solitude", "alta", "atomicpi", "visionfive2", "visionfive2q", "bpif3", "milk-v_duos", "licheerv+dock", "rak19007", "cnano-avr128da48", "nodemcu-32s", "cs-solarmeter", "feather-m0_express", "feather-m0_wifi", "feather-m4_express"]
|
||||||
rack_bay4_xyz_loc = [0,0,0]; // [0:.5:450]
|
rack_bay4_xyz_loc = [0,0,0]; // [0:.5:450]
|
||||||
rack_bay4_rotation = 0; // [0:90:270]
|
rack_bay4_rotation = 0; // [0:90:270]
|
||||||
rack_bay4_face = "fixed"; //["open","fixed","removable","vent"]
|
rack_bay4_face = "fixed"; //["open","fixed","removable","vent"]
|
||||||
@@ -111,7 +111,7 @@ rack_bay4_wall = false; // [true,false]
|
|||||||
rack_bay4_rear_fan = false; //[true,false]
|
rack_bay4_rear_fan = false; //[true,false]
|
||||||
rack_bay4_rear_conduit = "none"; //["none","conduit","grommet","grommets-vertical"]
|
rack_bay4_rear_conduit = "none"; //["none","conduit","grommet","grommets-vertical"]
|
||||||
|
|
||||||
Rack_Bay5 = "empty"; // ["empty", "c1+", "c2", "c4", "hc4", "xu4", "xu4q", "mc1", "hc1", "n1", "n2", "n2+", "n2l", "n2lq", "m1", "m1s", "m2", "h2", "h2+", "h3", "h3+", "h4", "h4+", "h4_ultra", "show2", "rpipico", "rpipicow", "rpicm4+ioboard", "rpicm1", "rpicm3", "rpicm3l", "rpicm3+", "rpicm4s", "rpicm4", "rpicm4l", "rpizero", "rpizerow", "rpizero2w", "rpi1a+", "rpi1b+", "rpi2b", "rpi3a+", "rpi3b", "rpi3b+", "rpi4b", "rpi5", "a64", "a64lts", "rock64", "rockpro64", "quartz64a", "quartz64b", "h64b", "star64", "soedge_a-baseboard", "soedge_rk1808", "rock4a", "rock4b", "rock4a+", "rock4b+", "rock4c", "rock4c+", "rock5b-v1.3", "rock5b", "rock5bq", "rock5b+", "nio12l", "vim1", "vim2", "vim3", "vim3l", "vim4", "tinkerboard", "tinkerboard-s", "tinkerboard-2", "tinkerboard-2s", "tinkerboard-r2", "tinkerboard-r2s", "opizero", "opizero2", "opir1plus_lts", "opir1", "opi5", "opi5max", "jetsonnano", "lepotato", "sweetpotato", "tritium-h2+", "tritium-h3", "tritium-h5", "solitude", "alta", "atomicpi", "visionfive2", "visionfive2q", "bpif3", "milk-v_duos", "licheerv+dock", "rak19007", "cnano-avr128da48", "nodemcu-32s", "cs-solarmeter", "feather-m0_express", "feather-m0_wifi", "feather-m4_express"]
|
Rack_Bay5 = "none"; // ["none", "c1+", "c2", "c4", "hc4", "xu4", "xu4q", "mc1", "hc1", "n1", "n2", "n2+", "n2l", "n2lq", "m1", "m1s", "m2", "h2", "h2+", "h3", "h3+", "h4", "h4+", "h4_ultra", "show2", "rpipico", "rpipicow", "rpicm4+ioboard", "rpicm1", "rpicm3", "rpicm3l", "rpicm3+", "rpicm4s", "rpicm4", "rpicm4l", "rpizero", "rpizerow", "rpizero2w", "rpi1a+", "rpi1b+", "rpi2b", "rpi3a+", "rpi3b", "rpi3b+", "rpi4b", "rpi5", "a64", "a64lts", "rock64", "rockpro64", "quartz64a", "quartz64b", "h64b", "star64", "soedge_a-baseboard", "soedge_rk1808", "rock4a", "rock4b", "rock4a+", "rock4b+", "rock4c", "rock4c+", "rock5b-v1.3", "rock5b", "rock5bq", "rock5b+", "nio12l", "vim1", "vim2", "vim3", "vim3l", "vim4", "tinkerboard", "tinkerboard-s", "tinkerboard-2", "tinkerboard-2s", "tinkerboard-r2", "tinkerboard-r2s", "opizero", "opizero2", "opir1plus_lts", "opir1", "opi5", "opi5max", "jetsonnano", "lepotato", "sweetpotato", "tritium-h2+", "tritium-h3", "tritium-h5", "solitude", "alta", "atomicpi", "visionfive2", "visionfive2q", "bpif3", "milk-v_duos", "licheerv+dock", "rak19007", "cnano-avr128da48", "nodemcu-32s", "cs-solarmeter", "feather-m0_express", "feather-m0_wifi", "feather-m4_express"]
|
||||||
rack_bay5_xyz_loc = [0,0,0]; // [0:.5:450]
|
rack_bay5_xyz_loc = [0,0,0]; // [0:.5:450]
|
||||||
rack_bay5_rotation = 0; // [0:90:270]
|
rack_bay5_rotation = 0; // [0:90:270]
|
||||||
rack_bay5_face = "fixed"; //["open","fixed","removable","vent"]
|
rack_bay5_face = "fixed"; //["open","fixed","removable","vent"]
|
||||||
@@ -119,7 +119,7 @@ rack_bay5_wall = false; // [true,false]
|
|||||||
rack_bay5_rear_fan = false; //[true,false]
|
rack_bay5_rear_fan = false; //[true,false]
|
||||||
rack_bay5_rear_conduit = "none"; //["none","conduit","grommet","grommets-vertical"]
|
rack_bay5_rear_conduit = "none"; //["none","conduit","grommet","grommets-vertical"]
|
||||||
|
|
||||||
Rack_Bay6 = "empty"; // ["empty", "c1+", "c2", "c4", "hc4", "xu4", "xu4q", "mc1", "hc1", "n1", "n2", "n2+", "n2l", "n2lq", "m1", "m1s", "m2", "h2", "h2+", "h3", "h3+", "h4", "h4+", "h4_ultra", "show2", "rpipico", "rpipicow", "rpicm4+ioboard", "rpicm1", "rpicm3", "rpicm3l", "rpicm3+", "rpicm4s", "rpicm4", "rpicm4l", "rpizero", "rpizerow", "rpizero2w", "rpi1a+", "rpi1b+", "rpi2b", "rpi3a+", "rpi3b", "rpi3b+", "rpi4b", "rpi5", "a64", "a64lts", "rock64", "rockpro64", "quartz64a", "quartz64b", "h64b", "star64", "soedge_a-baseboard", "soedge_rk1808", "rock4a", "rock4b", "rock4a+", "rock4b+", "rock4c", "rock4c+", "rock5b-v1.3", "rock5b", "rock5bq", "rock5b+", "nio12l", "vim1", "vim2", "vim3", "vim3l", "vim4", "tinkerboard", "tinkerboard-s", "tinkerboard-2", "tinkerboard-2s", "tinkerboard-r2", "tinkerboard-r2s", "opizero", "opizero2", "opir1plus_lts", "opir1", "opi5", "opi5max", "jetsonnano", "lepotato", "sweetpotato", "tritium-h2+", "tritium-h3", "tritium-h5", "solitude", "alta", "atomicpi", "visionfive2", "visionfive2q", "bpif3", "milk-v_duos", "licheerv+dock", "rak19007", "cnano-avr128da48", "nodemcu-32s", "cs-solarmeter", "feather-m0_express", "feather-m0_wifi", "feather-m4_express"]
|
Rack_Bay6 = "none"; // ["none", "c1+", "c2", "c4", "hc4", "xu4", "xu4q", "mc1", "hc1", "n1", "n2", "n2+", "n2l", "n2lq", "m1", "m1s", "m2", "h2", "h2+", "h3", "h3+", "h4", "h4+", "h4_ultra", "show2", "rpipico", "rpipicow", "rpicm4+ioboard", "rpicm1", "rpicm3", "rpicm3l", "rpicm3+", "rpicm4s", "rpicm4", "rpicm4l", "rpizero", "rpizerow", "rpizero2w", "rpi1a+", "rpi1b+", "rpi2b", "rpi3a+", "rpi3b", "rpi3b+", "rpi4b", "rpi5", "a64", "a64lts", "rock64", "rockpro64", "quartz64a", "quartz64b", "h64b", "star64", "soedge_a-baseboard", "soedge_rk1808", "rock4a", "rock4b", "rock4a+", "rock4b+", "rock4c", "rock4c+", "rock5b-v1.3", "rock5b", "rock5bq", "rock5b+", "nio12l", "vim1", "vim2", "vim3", "vim3l", "vim4", "tinkerboard", "tinkerboard-s", "tinkerboard-2", "tinkerboard-2s", "tinkerboard-r2", "tinkerboard-r2s", "opizero", "opizero2", "opir1plus_lts", "opir1", "opi5", "opi5max", "jetsonnano", "lepotato", "sweetpotato", "tritium-h2+", "tritium-h3", "tritium-h5", "solitude", "alta", "atomicpi", "visionfive2", "visionfive2q", "bpif3", "milk-v_duos", "licheerv+dock", "rak19007", "cnano-avr128da48", "nodemcu-32s", "cs-solarmeter", "feather-m0_express", "feather-m0_wifi", "feather-m4_express"]
|
||||||
rack_bay6_xyz_loc = [0,0,0]; // [0:.5:450]
|
rack_bay6_xyz_loc = [0,0,0]; // [0:.5:450]
|
||||||
rack_bay6_rotation = 0; // [0:90:270]
|
rack_bay6_rotation = 0; // [0:90:270]
|
||||||
rack_bay6_face = "fixed"; //["open","fixed","removable","vent"]
|
rack_bay6_face = "fixed"; //["open","fixed","removable","vent"]
|
||||||
@@ -1182,19 +1182,19 @@ if (view == "model") {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// bay inserts
|
// bay inserts
|
||||||
bayadj = r == 0 ? -74 : -75.5;
|
bayadj = r == 0 ? -75.5 : r == 5 ? -74.75: -75;
|
||||||
if(rack_bay_face[r] == "removable" && r ==0 && rack_bay_sbc[r] != "empty") {
|
if(rack_bay_face[r] == "removable" && r ==0 && rack_bay_sbc[r] != "none") {
|
||||||
color("gray") translate([bayadj+75*(r+1),0,floorthick])
|
color("gray") translate([bayadj+75*(r+1),0,floorthick])
|
||||||
bay_tray(depth-2*wallthick-gap-.5-tol,r);
|
bay_tray(depth-2*wallthick-gap-.5-tol,r);
|
||||||
}
|
}
|
||||||
if(rack_bay_face[r] == "removable" && r !=0 && rack_bay_sbc[r] != "empty") {
|
if(rack_bay_face[r] == "removable" && r !=0 && rack_bay_sbc[r] != "none") {
|
||||||
color("gray") translate([bayadj+75*(r+1),0,floorthick])
|
color("gray") translate([bayadj+75*(r+1),0,floorthick])
|
||||||
bay_tray(depth-2*wallthick-gap-.5-tol,r);
|
bay_tray(depth-2*wallthick-gap-.5-tol,r);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(sbc_off == false) {
|
if(sbc_off == false) {
|
||||||
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] != "none" && rack_bay_face[i] != "removable") {
|
||||||
s = search([rack_bay_sbc[i]],sbc_data);
|
s = search([rack_bay_sbc[i]],sbc_data);
|
||||||
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];
|
||||||
@@ -1211,8 +1211,8 @@ if (view == "model") {
|
|||||||
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);
|
||||||
}
|
}
|
||||||
if(rack_bay_sbc[i] != "empty" && rack_bay_face[i] == "removable") {
|
if(rack_bay_sbc[i] != "none" && rack_bay_face[i] == "removable") {
|
||||||
bayadj = i == 0 ? -74 : -75.5;
|
bayadj = i == 0 ? -75.5 : i == 5 ? -74.75: -75;
|
||||||
s = search([rack_bay_sbc[i]],sbc_data);
|
s = search([rack_bay_sbc[i]],sbc_data);
|
||||||
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];
|
||||||
@@ -1232,7 +1232,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,
|
||||||
pcb_bmaxz+floorthick+case_offset_bz+pcb_loc_z]) rotate([0,0,rack_bay_rotation[i]])
|
pcb_bmaxz+floorthick+case_offset_bz+pcb_loc_z+1]) 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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -257,11 +257,11 @@ accessory_data = [
|
|||||||
|
|
||||||
// Odroid-N2
|
// Odroid-N2
|
||||||
["n-series_rack19-1u",
|
["n-series_rack19-1u",
|
||||||
"add2","hd_holder",229,102,2.99,"bottom",[0,0,180],["case",false,false,false],[0,0,0],[2.5,"portrait"],[false,10,2,"default"],
|
"add2","hd_holder",229,102,1.99,"bottom",[0,0,180],["case",false,false,false],[0,0,0],[2.5,"portrait"],[false,10,2,"default"],
|
||||||
"model","hd25",229,102,3,"bottom",[0,0,180],["case",false,false,false],[0,0,0],["portrait",15],[true,10,2,"both"],
|
"model","hd25",229,102,3,"bottom",[0,0,180],["case",false,false,false],[0,0,0],["portrait",15],[true,10,2,"both"],
|
||||||
"model","hd25",229,102,20.5,"bottom",[0,0,180],["case",false,false,false],[0,0,0],["portrait",15],[true,10,2,"default"]],
|
"model","hd25",229,102,20.5,"bottom",[0,0,180],["case",false,false,false],[0,0,0],["portrait",15],[true,10,2,"default"]],
|
||||||
["n1_rack10-1u",
|
["n1_rack10-1u",
|
||||||
"add2","hd_holder",1,10,2.99,"bottom",[0,0,0],["case",false,false,false],[0,0,0],[2.5,"landscape"],[false,10,2,"default"],
|
"add2","hd_holder",1,10,1.99,"bottom",[0,0,0],["case",false,false,false],[0,0,0],[2.5,"landscape"],[false,10,2,"default"],
|
||||||
"model","hd25",1,10,3,"bottom",[0,0,0],["case",false,false,false],[0,0,0],["landscape",15],[true,20,2,"both"],
|
"model","hd25",1,10,3,"bottom",[0,0,0],["case",false,false,false],[0,0,0],["landscape",15],[true,20,2,"both"],
|
||||||
"model","hd25",1,10,20.5,"bottom",[0,0,0],["case",false,false,false],[0,0,0],["landscape",15],[true,20,2,"default"]],
|
"model","hd25",1,10,20.5,"bottom",[0,0,0],["case",false,false,false],[0,0,0],["landscape",15],[true,20,2,"default"]],
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user