]> www.fi.muni.cz Git - things.git/blob - madstab-joiner.scad
switch holder.scad
[things.git] / madstab-joiner.scad
1 eps = 0.01;
2 infty = 200;
3
4 wall = 1.5;
5 thin_wall = 0.6;
6
7 stab_tube_d = 3.0 + 0.5;
8 stab_tube_d2 = stab_tube_d + 1;
9 stab_tube_l = 20;
10
11 fuse_tube_d = 8.0;
12 fuse_tube_l = 12;
13
14 slot_w = 3;
15
16 base_d = 15;
17 base_h = 0.6;
18
19 module body() {
20         translate([fuse_tube_d/2 + stab_tube_d/2 + thin_wall, 0, 0]) {
21                 cylinder(r = stab_tube_d/2 + wall, h = stab_tube_l);
22                 // cylinder(r1 = base_d/2, r2 = stab_tube_d/2 + wall, h = base_h);
23         }
24         hull() {
25                 translate([-fuse_tube_d/2-wall, -fuse_tube_l/2, 0])
26                         cube([fuse_tube_d + 2*wall, fuse_tube_l, fuse_tube_d + 2*wall]);
27                 translate([fuse_tube_d/2 + stab_tube_d/2 + thin_wall, 0, 0])
28                         cylinder(r = stab_tube_d/2 + wall, h = fuse_tube_d + 2*wall);
29         }
30 }
31
32 difference() {
33         body();
34         translate([fuse_tube_d/2 + stab_tube_d/2 + thin_wall, 0, -eps])
35                 cylinder(r = stab_tube_d/2, h = stab_tube_l + 2*eps);
36         translate([fuse_tube_d/2 + stab_tube_d/2 + wall, 0, wall])
37                 cylinder(r = stab_tube_d2/2, h = stab_tube_l - 2*wall);
38         translate([0, fuse_tube_l/2+eps, fuse_tube_d/2+wall])
39         rotate([90, 0, 0])
40                 cylinder(r = fuse_tube_d/2, h = fuse_tube_l + 2*eps);
41         translate([-slot_w/2, -fuse_tube_l/2-eps, fuse_tube_d/2+wall])
42                 cube([slot_w, fuse_tube_l + 2*eps, fuse_tube_d/2+wall+eps]);
43 }
44
45 // endpoint
46
47 translate([0, fuse_tube_l, 0])
48 difference() {
49         union() {
50                 cylinder(r = stab_tube_d/2 + wall, h = wall);
51                 translate([0, 0, wall-eps])
52                         cylinder(r1 = stab_tube_d/2 + wall, r2 = stab_tube_d/2+thin_wall, h = wall);
53         }
54         translate([0, 0, -eps])
55                 cylinder(r = stab_tube_d/2, h = 2*wall + 2*eps);
56 }
57