cup_radius = 30; // Radius of the cup cup_height = 100; // Height of the cup wall_thickness = 5; // Thickness of the cup's wall handle_radius = 15; // Radius of the handle handle_height = 5; // Height of the handle // Create the cup difference() { cylinder(h = cup_height, r = cup_radius); // Create the empty part of the cup translate([0, 0, wall_thickness]) { cylinder(h = cup_height - wall_thickness+1, r = cup_radius - wall_thickness); // empty space } } // Create the cup handle translate([cup_radius - wall_thickness, cup_height / 4, cup_height / 2]) { rotate([90, 0, 45]) { difference() { // Create the outer part of the handle cylinder(h = handle_height, r = handle_radius); // Inner part of the handle translate([0, 0, -1]) { cylinder(h = handle_height + 3, r = handle_radius - 3); // Inner part of the handle } } } }