--- /dev/null
+eps = 0.01;
+infty = 200;
+
+wall = 1.5;
+thin_wall = 1.0;
+
+fuse_tube_d = 8.0;
+clip_w = 5;
+
+slot_w = 3;
+
+servo_l = 22.5;
+servo_w = 12.5;
+
+beam_w = fuse_tube_d/2 + wall;
+
+translate([0, -clip_w, 0])
+ fuse_clip();
+translate([0, servo_l, 0])
+ fuse_clip();
+
+difference() {
+ union() {
+ // servo frame
+ translate([-wall, -servo_l/2-clip_w, 0])
+ cube([servo_w + 2*wall, servo_l + 2*clip_w, wall]);
+ // main beam
+ translate([-beam_w, -servo_l/2-clip_w, 0])
+ cube([beam_w, servo_l + 2*clip_w, beam_w]);
+ // clips
+ for (y = [-1, 1]) scale([1, y, 1])
+ translate([-fuse_tube_d - 2*wall, servo_l/2, 0])
+ cube([fuse_tube_d + 2*wall, clip_w, fuse_tube_d + 2*wall]);
+
+ }
+ // hole for servo
+ translate([0, -servo_l/2, -eps])
+ cube([servo_w, servo_l, wall + 2*eps]);
+ // fuse tube
+ translate([-fuse_tube_d/2-wall, servo_l/2+clip_w+eps, fuse_tube_d/2+wall])
+ rotate([90, 0, 0])
+ cylinder(r = fuse_tube_d/2, h = servo_l +2*clip_w + 2*eps);
+ // fuse tube slot
+ translate([-fuse_tube_d/2-wall-slot_w/2, -servo_l/2-clip_w-eps, fuse_tube_d/2+wall])
+ cube([slot_w, servo_l + 2*clip_w + 2*eps, fuse_tube_d/2+wall+eps]);
+}
+