// Parametric Toolless U.3 / 3.5" Dual-Mode Drive Caddy // For 6U Open-Source Storage Array // Standard Units: Millimeters (mm) $fn = 64; // Dimensions caddy_w = 108.0; caddy_l = 165.0; caddy_h = 25.4; wall_t = 3.0; hdd_w = 102.0; hdd_l = 148.0; hdd_h = 26.1; // Insert boss dimensions insert_m3_d = 4.2; insert_m3_h = 5.0; module caddy_body() { difference() { // Outer Shell cube([caddy_w, caddy_l, caddy_h]); // Inner HDD Cavity translate([wall_t, 12.0, wall_t]) cube([caddy_w - 2*wall_t, hdd_l, caddy_h]); // Bottom Weight-Reduction & Air Vents for (i = [0:4]) { translate([15.0 + i*16.0, 30.0, -1]) cube([10.0, 90.0, wall_t + 2]); } // 3.5" HDD Side Pin Pockets (#6-32 standard spacing: 44.45mm and 101.6mm from rear) // Rear Datum is at Y = 12.0 + hdd_l = 160.0 translate([-1, 160.0 - 44.45, caddy_h/2]) rotate([0, 90, 0]) cylinder(d=3.8, h=wall_t + 2); translate([caddy_w - wall_t - 1, 160.0 - 44.45, caddy_h/2]) rotate([0, 90, 0]) cylinder(d=3.8, h=wall_t + 2); translate([-1, 160.0 - 101.60, caddy_h/2]) rotate([0, 90, 0]) cylinder(d=3.8, h=wall_t + 2); translate([caddy_w - wall_t - 1, 160.0 - 101.60, caddy_h/2]) rotate([0, 90, 0]) cylinder(d=3.8, h=wall_t + 2); // 2.5" / U.3 SSD Bottom Mounting Holes (M3 Heat-Set Pockets) // 2.5" standard: 61.72mm width, 76.60mm length translate([caddy_w/2 - 61.72/2, 60.0, -0.5]) cylinder(d=insert_m3_d, h=insert_m3_h); translate([caddy_w/2 + 61.72/2, 60.0, -0.5]) cylinder(d=insert_m3_d, h=insert_m3_h); translate([caddy_w/2 - 61.72/2, 60.0 + 76.6, -0.5]) cylinder(d=insert_m3_d, h=insert_m3_h); translate([caddy_w/2 + 61.72/2, 60.0 + 76.6, -0.5]) cylinder(d=insert_m3_d, h=insert_m3_h); // Front Latch Pivot Pin Bore translate([8.0, 6.0, -1]) cylinder(d=3.2, h=caddy_h + 2); translate([caddy_w - 8.0, 6.0, -1]) cylinder(d=3.2, h=caddy_h + 2); // Optical Light Pipe Tunnel (Ø3.2mm) translate([caddy_w/2, -1, caddy_h/2]) rotate([-90, 0, 0]) cylinder(d=3.2, h=15.0); } } caddy_body();