// -*- C -*- opening_height = 7.84; opening_depth = 7.88; openingcnr_dia = 2.75; opening_topprotr = 1.54; gap = 0.25; bot_overlap = 5; bot_w = 3; handle_d = 2; handle_w = 8; handle_rh = 2; // calculated ins_irad = openingcnr_dia/2 + gap; ins_orad = openingcnr_dia/2 + opening_height - gap; ins_th = ins_orad - ins_irad; handle_h = bot_overlap + ins_th; handle_y0 = -ins_orad-bot_overlap; module InsertSection(){ translate([-ins_orad, 0]) square([ins_th, opening_topprotr]); translate([0, -ins_orad]) square([ins_irad+1, ins_th]); intersection(){ translate([0.1,0.1]) mirror([1,1]) square([100,100]); difference(){ circle(r= ins_orad); circle(r= ins_irad, $fn=10); } } } module HandleSection(){ hull(){ translate([ins_irad, handle_y0]) square([bot_w, handle_h]); } } InsertSection(); HandleSection();