module lucet(handle=true, hole_r=4, slot_bottom=false, slot_top=false, h=6) { difference() { minkowski() { linear_extrude(height=h-4) union() { import("gfx/lucet.dxf"); if (handle) { import("gfx/lucet-handle.dxf"); } } sphere(r=2); } if (slot_bottom) { translate([20-h/2-0.5, 28, -3]) cube([h+1, 19, h+2]); } if (slot_top) { translate([20-h/2-0.5, 47, -3]) cube([h+1, 19, h+2]); } if (hole_r) { translate([20, 47, -3]) cylinder(r=hole_r, h=h+2, $fn=32); } } }