$fn = 64; // --- Parameters --- riser_height = 25; // Total elevation height added by the riser base_diameter = 50; // Outer diameter of the main stage peg_diameter = 35; // Diameter of the stacking connection peg_height = 4; // Height of the stacking peg tolerance = 0.4; // Clearance for easy stacking and removal // --- Module --- module figure_stage_riser() { difference() { // Main body and top connection union() { // Main cylindrical body cylinder(h = riser_height, d = base_diameter); // Top stacking peg (with slight chamfer for easier insertion) translate([0, 0, riser_height]) cylinder(h = peg_height, d1 = peg_diameter - tolerance, d2 = peg_diameter - tolerance - 1.5); } // Bottom stacking hole (slightly deeper and wider for a flush fit) translate([0, 0, -0.01]) cylinder(h = peg_height + 0.2, d = peg_diameter + tolerance); // Optional: Cutout for center peg/stand commonly found on figure bases translate([0, 0, riser_height - 5]) cylinder(h = peg_height + 6, d = 5); } } // --- Render --- figure_stage_riser();