1parametric 2 Morph :: slider[0,1] = 0; 3in let 4 wall_thickness = 0.075; 5 diam = 0.75; 6 height = 1; 7 handle = 8 torus {minor: .1, major: .65} 9 >> rotate {angle: 90*deg, axis: X_axis} 10 >> move [diam/2, 0, 0]; 11 cutout = 12 cylinder {d: (diam - wall_thickness), h: 2*height}; 13 body = 14 cylinder {d: diam, h: height} 15 >> into union [handle] 16 >> into difference [cutout]; 17 base = 18 cylinder {d: diam, h: wall_thickness} 19 >> move[0,0,-(height-wall_thickness)/2]; 20 mug = 21 smooth Morph .union [body, base] 22 >> colour (lib.web_colour.antique_white); 23in 24mug 25