+eps = 0.01;
+infty = 200;
+
+wall = 1.0;
+
+tube_d = 8.0 + 0.2;
+
+servo_side_l = 5 - 0.5;
+
+clip_w = servo_side_l + wall;
+slot_w = 3;
+
+servo_w = 12.5+0.5;
+servo_zoff = 16 + 2.0-tube_d/2-servo_w/2; // od stredu trubice po osu otaceni
+servo_xoff = 11 - 4.0 - tube_d/2;
+servo_slot_z = 2.5 + 0.3;
+servo_screw_hole = 1.2;
+
+module main() {
+difference() {
+ hull() {
+ // clip cylinder
+ cylinder(r = tube_d/2 + wall, h = clip_w);
+ // under the servo
+ translate([servo_xoff - wall, servo_zoff - wall, 0])
+ cube([servo_slot_z+2*wall, servo_w + wall, clip_w]);
+ }
+
+ // fuse tube
+ translate([0, 0, -eps])
+ cylinder(r = tube_d/2, h = clip_w + 2*eps);
+
+ // slot
+ translate([-slot_w/2, -tube_d,, -eps])
+ cube([slot_w, tube_d, clip_w + 2*eps]);
+
+ // servo slot
+ translate([servo_xoff, servo_zoff, wall])
+ cube([servo_slot_z, servo_w + eps, servo_side_l + eps]);
+
+ // servo screw hole
+ translate([-infty/2, servo_zoff + servo_w/2, servo_side_l/2 + wall])
+ rotate([0, 90, 0])
+ cylinder(r = servo_screw_hole/2, h = infty, $fn = 6);
+
+}
+}
+
+for (x = [-1, 1]) scale([x, 1, 1])
+translate([tube_d/2 + 2*wall, 0, 0]) main();
+