$fn=64; // --- Parameters --- pot_size_inches = 4; pot_id = pot_size_inches * 25.4 + 2; // ~103.6mm (includes 2mm clearance) ring_wall = 4; ring_height = 12; arm_length = 25; arm_width = 16; arm_height = 12; twist_shaft_dia = 14; twist_shaft_len = 6; twist_tab_len = 24; twist_tab_width = 8; twist_tab_thick = 3; // --- Geometry --- union() { // Main Pot Ring difference() { cylinder(h=ring_height, d=pot_id + ring_wall*2); translate([0, 0, -1]) cylinder(h=ring_height + 2, d=pot_id); } // Connecting Arm (Overlaps ring by 2mm for manifoldness) translate([(pot_id/2) - 2, -arm_width/2, 0]) cube([arm_length + 2, arm_width, arm_height]); // Twist-Lock Connector (Overlaps arm by 1mm for manifoldness) translate([(pot_id/2) + arm_length - 1, 0, arm_height/2]) { rotate([0, 90, 0]) { // Shaft cylinder(h=twist_shaft_len + twist_tab_thick + 1, d=twist_shaft_dia); // Locking Tab translate([0, 0, twist_shaft_len + 1]) translate([-twist_tab_width/2, -twist_tab_len/2, 0]) cube([twist_tab_width, twist_tab_len, twist_tab_thick]); } } }