added middle floor clamp, expanded support to 6 devices, initial wall dividers

This commit is contained in:
Edward Kisiel
2025-05-03 21:44:01 -04:00
parent ca26347358
commit 6bc4920bea
3 changed files with 65 additions and 31 deletions

View File

@@ -48,11 +48,17 @@ if(side == "bottom") {
} }
// rack ears // rack ears
translate([-gap-wallthick, -gap+(sidethick-wallthick), 0]) translate([-gap-wallthick, -gap+(sidethick-wallthick), 0])
rack_end_bracket("left", rack_u_size, sidethick); rack_end_bracket("left", rack_size, sidethick);
translate([width-wallthick-gap, -gap+(sidethick-wallthick), 0]) translate([width-wallthick-gap, -gap+(sidethick-wallthick), 0])
rack_end_bracket("right", rack_u_size, sidethick); rack_end_bracket("right", rack_size, sidethick);
// case upper panel clamp // bay divider walls
for(r = [0:len(rack_bay_sbc)-1]) {
if(rack_bay_wall[r] == true) {
translate([-gap-wallthick+75*(r+1),-gap-wallthick-adj,0]) cube([wallthick-1,depth,case_z-floorthick]);
}
}
// case upper panel clamps
translate([150-gap-wallthick,-gap-adj-.5,case_z-13]) translate([150-gap-wallthick,-gap-adj-.5,case_z-13])
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([300-gap-wallthick,-gap-adj-.5,case_z-13]) translate([300-gap-wallthick,-gap-adj-.5,case_z-13])
@@ -62,6 +68,12 @@ if(side == "bottom") {
translate([300-gap-wallthick,depth-gap-(2*wallthick)+adj+.5, translate([300-gap-wallthick,depth-gap-(2*wallthick)+adj+.5,
case_z-13]) panel_clamp("front", "m2", "sloped", 6, 18, 5, [false,10,2,"default"]); case_z-13]) panel_clamp("front", "m2", "sloped", 6, 18, 5, [false,10,2,"default"]);
// case floor panel clamps
translate([150-gap-wallthick,(depth/2)-gap-wallthick,floorthick-adj])
panel_clamp("bottom", "m2", "sloped", 6, 18, 5, [false,10,2,"default"]);
translate([300-gap-wallthick,(depth/2)-gap-wallthick,floorthick-adj])
panel_clamp("bottom", "m2", "sloped", 6, 18, 5, [false,10,2,"default"]);
// case lower assembly blocks // case lower assembly blocks
// rear left - left side // rear left - left side
translate([150-gap-wallthick-rack_asm_size,-gap-adj,floorthick-adj]) translate([150-gap-wallthick-rack_asm_size,-gap-adj,floorthick-adj])

View File

@@ -10875,9 +10875,11 @@
"c4_rack_1u": { "c4_rack_1u": {
"$fn": "90", "$fn": "90",
"Rack_Bay1": "c4", "Rack_Bay1": "c4",
"Rack_Bay2": "empty", "Rack_Bay2": "c4",
"Rack_Bay3": "c2", "Rack_Bay3": "c4",
"Rack_Bay4": "xu4", "Rack_Bay4": "c4",
"Rack_Bay5": "c4",
"Rack_Bay6": "c4",
"access_panel_location": "[10, 15]", "access_panel_location": "[10, 15]",
"access_panel_orientation": "landscape", "access_panel_orientation": "landscape",
"access_panel_rotation": "0", "access_panel_rotation": "0",
@@ -10976,7 +10978,7 @@
"floorthick": "3", "floorthick": "3",
"front_cover_pattern": "solid", "front_cover_pattern": "solid",
"gap": "1", "gap": "1",
"gpio_opening": "default", "gpio_opening": "none",
"hd_bays": "2", "hd_bays": "2",
"hd_center": "false", "hd_center": "false",
"hd_reverse": "false", "hd_reverse": "false",
@@ -11047,23 +11049,30 @@
"pcb_loc_z": "0", "pcb_loc_z": "0",
"rack_bay1_face": "io_shield", "rack_bay1_face": "io_shield",
"rack_bay1_rotation": "270", "rack_bay1_rotation": "270",
"rack_bay1_wall": "false", "rack_bay1_wall": "true",
"rack_bay1_xyz_loc": "[15, 0, 0]", "rack_bay1_xyz_loc": "[15, 0, 0]",
"rack_bay2_face": "io_shield", "rack_bay2_face": "io_shield",
"rack_bay2_rotation": "0", "rack_bay2_rotation": "270",
"rack_bay2_wall": "false", "rack_bay2_wall": "true",
"rack_bay2_xyz_loc": "[120, 0, 0]", "rack_bay2_xyz_loc": "[90, 0, 0]",
"rack_bay3_face": "io_shield", "rack_bay3_face": "io_shield",
"rack_bay3_rotation": "270", "rack_bay3_rotation": "270",
"rack_bay3_wall": "false", "rack_bay3_wall": "true",
"rack_bay3_xyz_loc": "[250, 0, 0]", "rack_bay3_xyz_loc": "[161, 0, 0]",
"rack_bay4_face": "io_shield", "rack_bay4_face": "io_shield",
"rack_bay4_rotation": "0", "rack_bay4_rotation": "270",
"rack_bay4_wall": "false", "rack_bay4_wall": "true",
"rack_bay4_xyz_loc": "[350, 0, 0]", "rack_bay4_xyz_loc": "[232, 0, 0]",
"rack_bays": "1", "rack_bay5_face": "io_shield",
"rack_size": "19", "rack_bay5_rotation": "270",
"rack_u_size": "1u", "rack_bay5_wall": "true",
"rack_bay5_xyz_loc": "[303, 0, 0]",
"rack_bay6_face": "io_shield",
"rack_bay6_rotation": "270",
"rack_bay6_wall": "false",
"rack_bay6_xyz_loc": "[374, 0, 0]",
"rack_size": "1u",
"rack_width": "19",
"raise_top": "0", "raise_top": "0",
"rear_cooling": "fan_hex", "rear_cooling": "fan_hex",
"rear_dualfan_spacing": "6", "rear_dualfan_spacing": "6",

View File

@@ -75,33 +75,46 @@ rear_io_shield = false;
/* [Rack Mount Case Adjustments] */ /* [Rack Mount Case Adjustments] */
// size of rack 10" or 19" // // size of rack 10" or 19" //
rack_size = 19; //[10,19] rack_width = 19; //[10,19]
// size of rack mount cases 1U-4U // // size of rack mount cases 1U or 2U //
rack_u_size = "1u"; //["1u", "2u", "3u", "4u"] rack_size = "1u"; //["1u", "2u"]
// number of rack bays //
rack_bays = 1; //[1:4]
// 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 = "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_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 = "io_shield"; //["none","blank","io_shield","vent_hex"] rack_bay1_face = "io_shield"; //["none","blank","io_shield","vent_hex"]
rack_bay1_wall = false; // [true,false] rack_bay1_wall = false; // [true,false]
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 = "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_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 = "io_shield"; //["none","blank","io_shield","vent_hex"] rack_bay2_face = "io_shield"; //["none","blank","io_shield","vent_hex"]
rack_bay2_wall = false; // [true,false] rack_bay2_wall = false; // [true,false]
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 = "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_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 = "io_shield"; //["none","blank","io_shield","vent_hex"] rack_bay3_face = "io_shield"; //["none","blank","io_shield","vent_hex"]
rack_bay3_wall = false; // [true,false] rack_bay3_wall = false; // [true,false]
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 = "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_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 = "io_shield"; //["none","blank","io_shield","vent_hex"] rack_bay4_face = "io_shield"; //["none","blank","io_shield","vent_hex"]
rack_bay4_wall = false; // [true,false] rack_bay4_wall = false; // [true,false]
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_xyz_loc = [0,0,0]; // [0:.5:450]
rack_bay5_rotation = 0; // [0:90:270]
rack_bay5_face = "io_shield"; //["none","blank","io_shield","vent_hex"]
rack_bay5_wall = false; // [true,false]
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_xyz_loc = [0,0,0]; // [0:.5:450]
rack_bay6_rotation = 0; // [0:90:270]
rack_bay6_face = "io_shield"; //["none","blank","io_shield","vent_hex"]
rack_bay6_wall = false; // [true,false]
/* [3D Case Adjustments] */ /* [3D Case Adjustments] */
// sbc location x axis // sbc location x axis
pcb_loc_x = 0; //[0:.01:300] pcb_loc_x = 0; //[0:.01:300]
@@ -419,7 +432,7 @@ width = case_design == "panel_nas" && pcb_width <= 100 ? pcb_width+2*(sidethick+
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 : 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" ? 44.45+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 == "2u" ? 88.90+floorthick : bottom_height+top_height;
case_diameter = sqrt(pow(width-wallthick-gap,2)+pow(depth-wallthick-gap,2)); case_diameter = sqrt(pow(width-wallthick-gap,2)+pow(depth-wallthick-gap,2));
hex_diameter = sqrt(pow(width+2*(wallthick+gap),2)+pow(depth+2*(wallthick+gap),2)); hex_diameter = sqrt(pow(width+2*(wallthick+gap),2)+pow(depth+2*(wallthick+gap),2));
hd_spacer = case_design == "panel_nas" && pcb_width > 100 ? (pcb_width+case_offset_x+2*gap)-101.6 : hd_spacer = case_design == "panel_nas" && pcb_width > 100 ? (pcb_width+case_offset_x+2*gap)-101.6 :
@@ -509,11 +522,11 @@ multipcb_bottom_standoff = [multipcb_bottom_standoff_size,
multipcb_bottom_standoff_insert_dia, multipcb_bottom_standoff_insert_dia,
multipcb_bottom_standoff_insert_height]; multipcb_bottom_standoff_insert_height];
rack_bay_sbc = [Rack_Bay1,Rack_Bay2,Rack_Bay3,Rack_Bay4]; rack_bay_sbc = [Rack_Bay1,Rack_Bay2,Rack_Bay3,Rack_Bay4,Rack_Bay5,Rack_Bay6];
rack_bay_xyz_loc = [rack_bay1_xyz_loc, rack_bay2_xyz_loc, rack_bay3_xyz_loc, rack_bay4_xyz_loc]; rack_bay_xyz_loc = [rack_bay1_xyz_loc, rack_bay2_xyz_loc, rack_bay3_xyz_loc, rack_bay4_xyz_loc, rack_bay5_xyz_loc, rack_bay6_xyz_loc];
rack_bay_rotation = [rack_bay1_rotation, rack_bay2_rotation, rack_bay3_rotation, rack_bay4_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_bay_face = [rack_bay1_face, rack_bay2_face, rack_bay3_face, rack_bay4_face, rack_bay5_face, rack_bay6_face];
rack_bay_wall = [rack_bay1_wall, rack_bay2_wall, rack_bay3_wall, rack_bay4_wall]; rack_bay_wall = [rack_bay1_wall, rack_bay2_wall, rack_bay3_wall, rack_bay4_wall, rack_bay5_wall, rack_bay6_wall];
adj = .01; adj = .01;
$fn=90; $fn=90;
@@ -1088,7 +1101,7 @@ if (view == "model") {
} }
} }
if(sbc_off == false) { if(sbc_off == false) {
for(i = [0:3]) { for(i = [0:len(rack_bay_sbc)-1]) {
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_loc_z = rack_bay_xyz_loc[i][2];
pcb_id = sbc_data[s[0]][4]; pcb_id = sbc_data[s[0]][4];