// -*- 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; // calculated ins_irad = openingcnr_dia/2 + gap; ins_orad = openingcnr_dia/2 + opening_height - gap; ins_th = ins_orad - ins_irad; module InsertSection(){ translate([-ins_orad, 0]) square([ins_th, opening_topprotr]); translate([0, -ins_orad]) square([ins_irad+1, ins_th]); translate([ins_irad, -ins_orad-bot_overlap]) square([bot_w, bot_overlap + 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); } } } InsertSection();