eps = 0.01; infty = 200; wall = 1.5; stab_tube_d = 3.0 + 0.5; stab_tube_l = 30; fuse_tube_d = 8.0; fuse_tube_l = 15; slot_w = 3; base_d = 17; base_h = 0.6; module body() { translate([fuse_tube_d/2 + stab_tube_d/2 + wall, 0, 0]) { cylinder(r = stab_tube_d/2 + wall, h = stab_tube_l); cylinder(r = base_d/2, h = base_h); } hull() { translate([-fuse_tube_d/2-wall, -fuse_tube_l/2, 0]) cube([fuse_tube_d + 2*wall, fuse_tube_l, fuse_tube_d + 2*wall]); translate([fuse_tube_d/2 + stab_tube_d/2 + wall, 0, 0]) cylinder(r = stab_tube_d/2 + wall, h = fuse_tube_d + 2*wall); } } difference() { body(); translate([fuse_tube_d/2 + stab_tube_d/2 + wall, 0, -eps]) cylinder(r = stab_tube_d/2, h = stab_tube_l + 2*eps); translate([0, fuse_tube_l/2+eps, fuse_tube_d/2+wall]) rotate([90, 0, 0]) cylinder(r = fuse_tube_d/2, h = fuse_tube_l + 2*eps); translate([-slot_w/2, -fuse_tube_l/2-eps, fuse_tube_d/2+wall]) cube([slot_w, fuse_tube_l + 2*eps, fuse_tube_d/2+wall+eps]); }