/// ARRAY SIZE // size of the array num_hdd_x = 4; num_hdd_y = 4; /// PRIMARY DIMENSIONS // width of vertical and horizontal bars vrail_width = 15; hrail_height = 15; // depth of front and back front_depth = 15; back_depth = 6; // length hdd is standing out to be grabbed hdd_standout = 15; // dimensions of the L-shaped rail between front and back rail_width = 20; rail_height = rail_width; rail_thickness = 2; /// HDD SIZE (from spec) // dimensions of HDDs; not model-specific hdd_width = 101.6; hdd_height = 25.4; hdd_length = 146; /// PRINTER SPECIFICATION // assumed space deviation of the resulting form; used to leave space // in holes so that screws and rods do not stuck pla_epsilon = 0.1; /// COMPUTED VARIABLES // dimension of a single hdd tray (hdd + space around) tray_height = hdd_height + max(cooling_height, 2 * bar_thickness + 10 * pla_epsilon); tray_width = hdd_width + bar_thickness; tray_length = hdd_length - hdd_standout; /// OPENSCAD HACKS // a length larger than any constructed feature; use to simulate // infinitely long structures (for difference operations) large = 1000; // A small quantity that does not change the print results. Use to // displace surfaces of CSG operations to prevent them from overlapping. epsilon = 0.0001;