+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();