12 supp_xoff = 0.85 * side_w;
14 module body(fuse_w, fuse_h, body_h) {
16 translate([-fuse_w/2, -fuse_h/2, 0])
17 cube([fuse_w, fuse_h, thin_wall]);
20 translate([0, fuse_h/2-tube_d/2-wall, 0])
21 cylinder(r = tube_d/2+wall, h = body_h);
24 for (x = [-1, 1]) scale([x, 1, 1])
25 translate([fuse_w/2-thin_wall, -fuse_h/2, 0])
26 cube([thin_wall, fuse_h, body_h]);
27 for (y = [-1, 1]) scale([1, y, 1])
28 translate([-fuse_w/2, fuse_h/2-thin_wall, 0])
29 cube([fuse_w, thin_wall, body_h]);
32 supp_zoff = body_h-thin_wall;
33 for (x = [-1, 1]) scale([x, 1, 1])
35 translate([fuse_w/2-supp_xoff, -fuse_h/2, 0])
36 cube([thin_wall, fuse_h, thin_wall]);
37 translate([fuse_w/2-thin_wall, -fuse_h/2, supp_zoff])
38 cube([thin_wall, fuse_h, thin_wall]);
40 for (y = [-1, 1]) scale([1, y, 1])
42 translate([-fuse_w/2, fuse_h/2-supp_xoff, 0])
43 cube([fuse_w, thin_wall, thin_wall]);
44 translate([-fuse_w/2, fuse_h/2-thin_wall, supp_zoff])
45 cube([fuse_w, thin_wall, thin_wall]);
49 module main(fuse_w, fuse_h, body_h) {
51 body(fuse_w, fuse_h, body_h);
57 translate([-fuse_w/2+side_w+corner_d/2,
58 -fuse_h/2+side_w+corner_d/2, -eps])
59 cylinder(r = corner_d/2, h = thin_wall + 2*eps);
62 translate([0, fuse_h/2-tube_d/2-wall, -eps])
63 cylinder(r = tube_d/2, h = body_h + 2*eps);
65 translate([-tube_slot/2, 0, -eps])
66 cube([tube_slot, fuse_h/2-tube_d/2-wall, body_h +2*eps]);
72 translate([45, 0, 0]) main(30, 25, 8);