]> www.fi.muni.cz Git - things.git/blob - servo-tube-holder.scad
Holder for servo on a carbon tube
[things.git] / servo-tube-holder.scad
1 eps = 0.01;
2 infty = 200;
3
4 wall = 1.5;
5 thin_wall = 1.0;
6
7 fuse_tube_d = 8.0;
8 clip_w = 5;
9
10 slot_w = 3;
11
12 servo_l = 22.5;
13 servo_w = 12.5;
14
15 beam_w = fuse_tube_d/2 + wall;
16
17 translate([0, -clip_w, 0])
18         fuse_clip();
19 translate([0, servo_l, 0])
20         fuse_clip();
21
22 difference() {
23         union() {
24                 // servo frame
25                 translate([-wall, -servo_l/2-clip_w, 0])
26                         cube([servo_w + 2*wall, servo_l + 2*clip_w, wall]);
27                 // main beam
28                 translate([-beam_w, -servo_l/2-clip_w, 0])
29                         cube([beam_w, servo_l + 2*clip_w, beam_w]);
30                 // clips
31                 for (y = [-1, 1]) scale([1, y, 1])
32                 translate([-fuse_tube_d - 2*wall, servo_l/2, 0])
33                         cube([fuse_tube_d + 2*wall, clip_w, fuse_tube_d + 2*wall]);
34                         
35         }
36         // hole for servo
37         translate([0, -servo_l/2, -eps])
38                 cube([servo_w, servo_l, wall + 2*eps]);
39         // fuse tube
40         translate([-fuse_tube_d/2-wall, servo_l/2+clip_w+eps, fuse_tube_d/2+wall])
41                         rotate([90, 0, 0])
42                         cylinder(r = fuse_tube_d/2, h = servo_l +2*clip_w + 2*eps);
43         // fuse tube slot
44         translate([-fuse_tube_d/2-wall-slot_w/2, -servo_l/2-clip_w-eps, fuse_tube_d/2+wall])
45                 cube([slot_w, servo_l + 2*clip_w + 2*eps, fuse_tube_d/2+wall+eps]);
46 }
47