Commit | Line | Data |
---|---|---|
76a695a2 TM |
1 | $fn=100; |
2 | ||
3 | module hose_ferule(t=0.3) { //t = tolerance | |
4 | //thread side | |
5 | translate([0,0,2]) hull() rotate_extrude() translate([(t+13.5-4)/2,0,0]) circle(d=4); | |
6 | cylinder(d=t+13.5, h=2); | |
7 | ||
8 | //crimp | |
9 | cylinder(d=t+12, h=30); | |
10 | ||
11 | //hose side | |
12 | translate([0,0,10.5]) { | |
13 | translate([0,0,2]) hull() rotate_extrude() translate([(t+13.5-4)/2,0,0]) circle(d=4); | |
14 | translate([0,0,6.5]) hull() rotate_extrude() translate([(t+13.5-4)/2,0,0]) circle(d=4); | |
15 | translate([0,0,2]) cylinder(d=t+13.5, h=6.5-2); | |
16 | } | |
17 | ||
18 | //hose | |
19 | translate([0,0,15]) cylinder(d=t+12.5, h=30); | |
20 | translate([0,0,29]) cylinder(d1=t+12.5, d2=20, h=5); //inner bevel | |
21 | } | |
22 | ||
23 | module hose_cone() { | |
24 | difference() { | |
25 | //cone | |
26 | translate([0,0,0.01]) cylinder(d1=23.5, d2=20.5, h=30); | |
27 | //outer bevel | |
28 | rotate_extrude() rotate([0,0,45]) translate([15,30.4,0]) square(5, center=true); | |
29 | hose_ferule(); | |
30 | } | |
31 | } | |
32 | ||
33 | module snap_fit(t=0) { | |
34 | hull() { | |
35 | translate([-9,-2,0]) cylinder(d=2+t, h=31); | |
36 | translate([-200,-2,0]) cylinder(d=2+t, h=31); | |
37 | } | |
38 | translate([-11.5,0,0]) cube([5+t,2+t,66], center=true); | |
39 | translate([-9.3,0.6,0]) rotate([0,0,55]) cube([2.5+t,2.5+t,66], center=true); | |
40 | } | |
41 | ||
42 | module cone_cutout(t=0) { | |
43 | difference() { | |
44 | hose_cone(); | |
45 | translate([-25,0,0]) cube(50); | |
46 | ||
47 | snap_fit(t); | |
48 | mirror([1,0,0]) snap_fit(t); | |
49 | } | |
50 | } | |
51 | ||
52 | // Instantiate | |
53 | ||
54 | cone_cutout(t=0.3); | |
55 | ||
56 | translate([0,5,0]) difference() { | |
57 | hose_cone(); | |
58 | cone_cutout(); | |
59 | } |