--- /dev/null
+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]);
+}
+