// -*- C -*- include bracket_th = 2.70; left_inboard_to_wall = 9.78; right_inboard_to_wall = 13.21; plug_dia = 10; screw_dia = 5; bucket_wall = 2.5; bucket_floor = 2.5; whole_dia = plug_dia + bucket_wall *2; spacing = 14; module MainCircle() { difference(){ circle(r = whole_dia/2); rectfromto([-100, spacing/2], [+100, +100]); circle(r = screw_dia/2); } } module Spacer(inboard_to_wall) { linextr(0, bucket_wall) MainCircle(); linextr(0, inboard_to_wall - bracket_th){ difference(){ MainCircle(); circle(r = plug_dia/2); } } } module Spacers() { Spacer(left_inboard_to_wall); translate([0, 40]) Spacer(right_inboard_to_wall); } Spacers();