$fn = 64; // --- Parameters --- // Pot Dimensions (6 inch pot is ~152.4mm) pot_inner_dia_top = 156; pot_inner_dia_bottom = 146; ring_height = 25; ring_thickness = 5; // Mounting Arm Dimensions arm_length = 35; arm_width = 30; // Twist-Lock Connector Dimensions lock_stem_dia = 18; lock_stem_length = 7; lock_tab_length = 36; lock_tab_width = 12; lock_tab_thickness = 3; // --- Main Geometry --- union() { // Main Ring and Arm difference() { union() { // Tapered outer ring cylinder( d1 = pot_inner_dia_bottom + (2 * ring_thickness), d2 = pot_inner_dia_top + (2 * ring_thickness), h = ring_height ); // Mounting arm block // Starts slightly inside the ring to ensure a manifold union before the inner cut translate([(pot_inner_dia_bottom / 2) - 5, -arm_width / 2, 0]) cube([arm_length + 5, arm_width, ring_height]); } // Inner cutout for the pot (clears out the center and any overlapping arm geometry) translate([0, 0, -1]) cylinder( d1 = pot_inner_dia_bottom, d2 = pot_inner_dia_top, h = ring_height + 2 ); } // Twist-Lock Male Connector arm_end_x = (pot_inner_dia_bottom / 2) + arm_length; translate([arm_end_x, 0, ring_height / 2]) { rotate([0, 90, 0]) { // Central stem cylinder(d = lock_stem_dia, h = lock_stem_length); // Locking tabs translate([0, 0, lock_stem_length]) linear_extrude(lock_tab_thickness) hull() { translate([(lock_tab_length / 2) - (lock_tab_width / 2), 0, 0]) circle(d = lock_tab_width); translate([-(lock_tab_length / 2) + (lock_tab_width / 2), 0, 0]) circle(d = lock_tab_width); } } } }