tube_d = 8.0 + 0.5;
-clip_w = 6;
-
slot_w = 3;
-support_l = 12;
-servo_w = 12.5;
+servo_w = 12.5+0.5;
+servo_side_l = 5 - 0.5;
+
+clip_w = servo_side_l + wall;
-cable_w = 5;
-cable_zoff = 2;
+servo_zoff = 14 + 2.0 + tube_d/2;
+servo_screw_hole = 1.2;
+servo_slot_z = 2 + 0.5;
-module clip(support_zoff) {
+module clip() {
difference() {
hull() {
// clip cylinder
cylinder(r = tube_d/2 + wall, h = clip_w);
// under the servo
- translate([-servo_w/2-wall, tube_d/2+support_zoff, 0])
- cube([servo_w+2*wall, support_l + wall, clip_w]);
+ translate([-servo_w/2-wall, servo_zoff-wall, 0])
+ cube([servo_w+2*wall, servo_slot_z + 2*wall, clip_w]);
}
// fuse tube
cube([slot_w, tube_d, clip_w + 2*eps]);
// servo
- translate([-servo_w/2, tube_d/2+support_zoff+wall, wall])
- cube([servo_w, support_l + eps, clip_w]);
- // cable hole
- translate([-cable_w/2, tube_d/2+support_zoff+cable_zoff+wall, -eps])
- cube([cable_w, support_l + eps, clip_w]);
+ translate([-servo_w/2, servo_zoff, wall])
+ cube([servo_w, servo_slot_z, clip_w]);
+
+ // screw hole
+ translate([0, 0, wall + 0.6*servo_side_l])
+ rotate([-90, 0, 0])
+ cylinder(r = servo_screw_hole/2, h = infty, $fn = 6);
}
}
for (x = [-1, 1]) scale([x, 1, 1])
-translate([servo_w, tube_d, 0])
- clip(support_zoff = 0);
+translate([servo_w/2+2*wall, 0, 0])
+clip();
-for (x = [-1, 1]) scale([x, -1, 1])
-translate([servo_w, tube_d, 0])
- clip(support_zoff = 3);