include <../config/pot.scad> include <../config/thread.scad> module pot_object() { module base_object(outsize) { move_z = pot_height / 2 - pot_size / 2; move_x = thread_diameter / 2 + pot_thickness / 2; size = outsize / 2; hull() { translate([move_x, 0, -move_z]) { sphere(r = size); } translate([move_x, 0, move_z]) { cylinder(r = size, h = size * 2, center = true); } translate([-move_x, 0, -move_z]) { sphere(r = size); } translate([-move_x, 0, move_z]) { cylinder(r = size, h = size * 2, center = true); } } } render() { difference() { thickness = thread_height + pot_thickness * 2; base_object(pot_size + thickness); translate([0, thread_height / 2, thickness / 2]) { base_object(pot_size); } } } }