$fn = 64; // --- Parameters --- cup_height = 40; // Total height of the cup outer_radius = 25; // Outer radius of the cup (50mm diameter) wall_thickness = 2.5; // Thickness of the side walls base_thickness = 3.0; // Thickness of the bottom center // --- Calculated Variables --- inner_radius = outer_radius - wall_thickness; scoop_center_z = base_thickness + inner_radius; // --- Geometry --- difference() { // Outer shell cylinder(h = cup_height, r = outer_radius); // Inner void union() { // Rounded interior bottom for easy scooping translate([0, 0, scoop_center_z]) sphere(r = inner_radius); // Straight interior walls above the curve // Over-extended height ensures a clean manifold cut through the top translate([0, 0, scoop_center_z]) cylinder(h = cup_height, r = inner_radius); } }