eps = 0.01; infty = 200; wall = 1.5; thin_wall = 0.6; fuse_tube_d = 8.0; fuse_tube_l = 4; slot_w = 5; base_w = 60; base_l = 25; module body() { 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([0, fuse_tube_l/2, fuse_tube_d/2+wall]) rotate([90, 0, 0]) cylinder(r = fuse_tube_d/2+wall, h = fuse_tube_l); translate([-fuse_tube_d/2-wall, -base_l/2+wall/2, 0]) cube([fuse_tube_d + 2*wall, base_l-wall, thin_wall]); } scale([1, base_l/base_w, 1]) cylinder(r = base_w/2, h = thin_wall); } module holder() { difference() { body(); translate([0, infty/2, fuse_tube_d/2+wall]) rotate([90, 0, 0]) cylinder(r = fuse_tube_d/2, h = infty + 2*eps); translate([-slot_w/2, -infty/2, fuse_tube_d/2+wall]) cube([slot_w, infty, fuse_tube_d/2+wall+eps]); } } holder();