constants.scad (5125B)
1 // see enclosure.scad for more details on the constants 2 3 enclosure_rack_units = 4; 4 5 rack_unit_dims = [ 6 [undef, undef, undef, undef], // "0U" 7 [44.45, 43.65, 31.75, 5.95], // 1U 8 [88.90, 88.10, 44.45, 21,83], // 2U 9 [133.35, 132.55, 57.15, 37.70], // 3U 10 [177.80, 177.00, 101.60, 37.70], // 4U 11 [222.25, 221.45, 146.06, 37.70], // 5U 12 [266.70, 265.90, 190.50, 37.70], // 6U 13 ]; 14 15 // enclosure parameters 16 // =========================================================================== 17 18 disk_blocks = 2; 19 fan_groups = 3; 20 21 // fastener constants 22 // =========================================================================== 23 // 24 25 flush_stud_height = 0; 26 flush_stud_shoulder_height = 0; 27 flush_stud_inner_radius = 0; 28 flush_stud_outer_radius = 0; 29 30 flush_nut_height = 0; 31 flush_nut_shoulder_height = 0; 32 flush_nut_inner_radius = 0; 33 flush_nut_outer_radius = 0; 34 35 standoff_height = 0; 36 standoff_inner_radius = 0; 37 standoff_outer_radius = 0; 38 39 // chassis constants 40 // =========================================================================== 41 // 42 43 faceplate_width = 482; 44 faceplate_height = rack_unit_dims[enclosure_rack_units][0]; 45 faceplate_thickness = 2; 46 47 handle_width = 0; 48 handle_height = 0; 49 handle_thickness = 0; 50 51 chassis_width = 434; 52 chassis_height = rack_unit_dims[enclosure_rack_units][0]; 53 chassis_depth = 800; 54 chassis_thickness = 1.5; 55 56 cover_width = chassis_width; 57 cover_depth = chassis_depth; 58 cover_thickness = 1.5; 59 60 rearplate_width = chassis_width; 61 rearplate_height = rack_unit_dims[enclosure_rack_units][0]; 62 rearplate_thickness = chassis_thickness; 63 64 // chamber separator 65 separator_width = 350; 66 separator_height = chassis_height; 67 separator_depth = chassis_depth; 68 separator_thickness = 1.5; 69 70 // disk (-group/-row/-block) constants 71 // =========================================================================== 72 // - disks will be placed in caddies 73 // - disks are treated logically in groups, with one backplane per group 74 // - groups are further combined into rows, and rows into blocks 75 76 //disk_width = 26.11; 77 //disk_height = 146.05; 78 //disk_depth = 101.60; 79 80 disk_width = 27; // with caddy 81 disk_height = 157; // with caddy 82 disk_depth = 112; // with caddy 83 84 disk_conn_width = 6; 85 disk_conn_height = 4; 86 disk_conn_depth = 42.37; 87 88 disk_conn_off_width = 0; 89 disk_conn_off_height = -1; 90 disk_conn_off_depth = 4.665; 91 92 disk_pad_width = 1; 93 disk_pad_height = 1; 94 disk_pad_depth = 2.5; 95 96 disk_bb_width = disk_width + (2 * disk_pad_width); 97 disk_bb_height = disk_height + (2 * disk_pad_height); 98 disk_bb_depth = disk_depth + (2 * disk_pad_depth); 99 100 disks_per_group = 4; 101 disk_group_pad_width = 0; 102 disk_group_pad_depth = 0; 103 104 function disk_group_width(disks = disks_per_group) = 105 (2 * disk_group_pad_width) + (disks * (disk_width + (2 * disk_pad_width))); 106 function disk_group_depth(disks = disks_per_group) = 107 (2 * disk_group_pad_depth) + (disk_depth + (2 * disk_pad_depth)); 108 109 disk_groups_per_row = 3; 110 disks_per_row = disks_per_group * disk_groups_per_row; 111 disk_row_pad_width = 0; 112 disk_row_pad_depth = 0; 113 114 function disk_row_width(groups = disk_groups_per_row, disks = disks_per_group) = 115 (2 * disk_row_pad_width) + (groups * disk_group_width(disks)); 116 function disk_row_depth(groups = disk_groups_per_row, disks = disks_per_group) = 117 (2 * disk_row_pad_depth) + disk_group_depth(disks); 118 119 disk_rows_per_block = 3; 120 disk_block_pad_width = 0; 121 disk_block_pad_depth = 0; 122 123 function disk_block_width(rows = disk_rows_per_block, 124 groups = disk_groups_per_row, 125 disks = disks_per_group) = 126 (2 * disk_block_pad_width) + disk_row_width(groups, disks); 127 128 function disk_block_depth(rows = disk_rows_per_block, 129 groups = disk_groups_per_row, 130 disks = disks_per_group) = 131 (2 * disk_block_pad_width) + (rows * disk_row_depth(groups, disks)); 132 133 // disk retainer 134 retainer_width = disk_block_width(); 135 retainer_height = chassis_height; 136 retainer_depth = disk_block_depth(); 137 retainer_thickness = 1.5; 138 139 retainer_slit_margin = 20; 140 retainer_slit_width = disk_bb_width / 2; 141 retainer_slit_height = retainer_height - (2 * retainer_slit_margin); 142 143 // miscellaneous constants 144 // =========================================================================== 145 // 146 147 fan_width = 141; 148 fan_height = 141; 149 fan_depth = 30; 150 151 fan_pad_width = 1.0; 152 fan_pad_height = 20; // account for pcb + cable routing area 153 fan_pad_depth = 1.0; 154 155 fan_group_pad_width = 0; 156 fan_group_pad_height = 0; 157 fan_group_pad_depth = 0; 158 159 function fan_group_width(fans) = 160 (2 * fan_group_pad_width) + (fans * (fan_width + (2 * fan_pad_width))); 161 function fan_group_height() = 162 (2 * fan_group_pad_height) + (fan_height + (2 * fan_pad_height)); 163 function fan_group_depth() = 164 (2 * fan_group_pad_depth) + (fan_depth + (2 * fan_pad_depth)); 165 166 fan_wall_thickness = 1.5; 167 fan_wall_width = chassis_width; 168 fan_wall_depth = fan_wall_thickness + fan_group_depth(); 169 170 psu_width = 73.5; 171 psu_height = 40; 172 psu_depth = 185; 173 174 psu_pad_width = 1.0; 175 psu_pad_height = 1.0; 176 psu_pad_depth = 0.0; 177 178 psus_per_group = 2; 179 psu_group_width = psu_width; 180 function psu_group_height(psus = psus_per_group) = 181 psus * (psu_height + (2 * psu_pad_height)); 182 183 io_width = 80; 184 io_height = 40; 185 io_depth = 80; 186 187 io_pad_width = 1.0; 188 io_pad_height = 1.0; 189 io_pad_depth = 0.0;