]> www.fi.muni.cz Git - things.git/blob - fiber-tube-clip.scad
switch holder.scad
[things.git] / fiber-tube-clip.scad
1 eps = 0.01;
2 infty = 200;
3
4 wall = 1.5;
5
6 tube_d = 8.0 + 0.5;
7
8 clip_w = 6;
9
10 slot_w = 3;
11 slot_angle = 180+45;
12
13 fiber_hole = 2;
14
15 support_l = tube_d/2 + 10;
16
17 difference() {
18         union() {
19                 // clip cylinder
20                 cylinder(r = tube_d/2 + wall, h = clip_w);
21                 // fiber x-dir
22                 hull() {
23                         cylinder(r = fiber_hole/2+wall, h = clip_w);
24                         translate([tube_d/2+fiber_hole/2, 0, 0])
25                                 cylinder(r = fiber_hole/2+wall, h = clip_w, $fn = 16);
26                 }
27                 // fiber y-dir
28                 hull() {
29                         cylinder(r = fiber_hole/2+wall, h = clip_w);
30                         translate([0, tube_d/2+fiber_hole/2, 0])
31                                 cylinder(r = fiber_hole/2+wall, h = clip_w, $fn = 16);
32                 }
33         }
34
35         // fuse tube
36         translate([0, 0, -eps])
37                 cylinder(r = tube_d/2, h = clip_w + 2*eps);
38
39         // slot
40         rotate([0, 0, slot_angle])
41         translate([0, -slot_w/2, -eps])
42                 cube([tube_d, slot_w, clip_w + 2*eps]);
43         // fiber hole x-dir
44         translate([0, -wall/2, -eps])
45                 cube([tube_d/2+fiber_hole/2, wall, clip_w+2*eps]);
46         translate([tube_d/2+fiber_hole/2, 0, -eps])
47                 cylinder(r = fiber_hole/2, h = clip_w+2*eps, $fn = 16);
48         // fiber hole y-dir
49         translate([-wall/2, 0, -eps])
50                 cube([wall, tube_d/2+fiber_hole/2, clip_w+2*eps]);
51         translate([0, tube_d/2+fiber_hole/2, -eps])
52                 cylinder(r = fiber_hole/2, h = clip_w+2*eps, $fn = 16);
53 }