]> www.fi.muni.cz Git - things.git/blob - servo-tube-holder.scad
mini scout firewall
[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 + 0.5;
8 clip_w = 6;
9
10 slot_w = 3;
11
12 servo_l = 23.0;
13 servo_w = 12.5;
14
15 beam_w = fuse_tube_d/2 + wall;
16
17 cable_w = 2.0;
18 cable_l = 5.0;
19
20 difference() {
21         union() {
22                 // servo frame
23                 translate([-wall, -servo_l/2-clip_w, 0])
24                         cube([servo_w + 2*wall, servo_l + 2*clip_w, wall]);
25                 // main beam
26                 translate([-beam_w, -servo_l/2-clip_w, 0])
27                         cube([beam_w, servo_l + 2*clip_w, beam_w]);
28                 // clips
29                 for (y = [-1, 1]) scale([1, y, 1])
30                 translate([-fuse_tube_d - 2*wall, servo_l/2, 0])
31                         cube([fuse_tube_d + 2*wall, clip_w, fuse_tube_d + 2*wall]);
32                         
33         }
34         // hole for servo
35         translate([0, -servo_l/2, -eps])
36                 cube([servo_w, servo_l, wall + 2*eps]);
37         // fuse tube
38         translate([-fuse_tube_d/2-wall, servo_l/2+clip_w+eps, fuse_tube_d/2+wall])
39                         rotate([90, 0, 0])
40                         cylinder(r = fuse_tube_d/2, h = servo_l +2*clip_w + 2*eps);
41         // fuse tube slot
42         translate([-fuse_tube_d/2-wall-slot_w/2, -servo_l/2-clip_w-eps, fuse_tube_d/2+wall])
43                 cube([slot_w, servo_l + 2*clip_w + 2*eps, fuse_tube_d/2+wall+eps]);
44         // cable hole
45         for (y = [-1, 1]) scale ([1, y, 1])
46                 translate([servo_w/2-cable_l/2, servo_l/2-eps, -eps])
47                         cube([cable_l, cable_w + eps, wall + 2*eps]);
48 }
49