]> www.fi.muni.cz Git - things.git/blob - servo-tube-holder-half-side.scad
switch holder.scad
[things.git] / servo-tube-holder-half-side.scad
1 eps = 0.01;
2 infty = 200;
3
4 wall = 1.5;
5
6 tube_d = 8.0 + 0.2;
7
8 servo_side_l = 5 - 0.5;
9
10 clip_w = servo_side_l + wall;
11 slot_w = 3;
12
13 servo_w = 12.5+0.5;
14 servo_zoff = 14.5 + 2.0-tube_d/2-servo_w/2; // od stredu trubice po osu otaceni
15 servo_slot_z = 2.5 + 0.1;
16 servo_xoff = -servo_slot_z/2;
17 servo_screw_hole = 1.6;
18 servo_screw_hole_2 = 2.5;
19
20 module main() {
21 difference() {
22         hull() {
23                 // clip cylinder
24                 cylinder(r = tube_d/2 + wall, h = clip_w);
25                 // under the servo
26                 translate([servo_xoff - wall, servo_zoff - wall, 0])
27                         cube([servo_slot_z+2*wall, servo_w + wall, clip_w]);
28         }
29
30         // fuse tube
31         translate([0, 0, -eps])
32                 cylinder(r = tube_d/2, h = clip_w + 2*eps);
33
34         // slot
35         translate([-slot_w/2, -tube_d,, -eps])
36                 cube([slot_w, tube_d, clip_w + 2*eps]);
37
38         // servo slot
39         translate([servo_xoff, servo_zoff, wall])
40                 cube([servo_slot_z, servo_w + eps, servo_side_l + eps]);
41
42         // servo screw hole 1
43         translate([0, servo_zoff + servo_w/2, 0.6*servo_side_l + wall])
44         rotate([0, 90, 0])
45                 cylinder(r = servo_screw_hole/2, h = infty, $fn = 6);
46
47         translate([0, servo_zoff + servo_w/2, 0.6*servo_side_l + wall])
48         rotate([0, -90, 0])
49                 cylinder(r = servo_screw_hole_2/2, h = infty, $fn = 6);
50
51 }
52 }
53
54 for (x = [-1, 1]) scale([x, 1, 1])
55 translate([tube_d/2 + 2*wall, 0, 0]) main();
56