-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgardena.scad
77 lines (62 loc) · 1.67 KB
/
gardena.scad
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
/*
Gardena Tap Connectors
++++++++++++++++++++++
Units in this file: Millimeter.
*/
use <threadlib/threadlib.scad>
// Generic
module gasket (r0=8, r1=12.5, d=3, $fn=120) {
/*
Flat ring gasket
++++++++++++++++
r0: Hole diameter
r1: Outer diameter
d: Thickness
*/
color("DarkSlateGray")
difference() {
cylinder(h=d, r=r1);
translate([0, 0, -d])
cylinder(h=3*d, r=r0);
}
};
module nozzle(type="G1", section=[[16.8, 0], [19.5, 0], [19.5, -14], [10, -14],
[10, -18], [8, -22], [8, -38], [4.5, -38],
[4.5, -21], [7, -17], [7, -12], [16.8, -12]], $fn=120)
{
designator = str(type, "-int");
P = thread_specs(designator)[0];
turns = (section[0][1] - section[11][1] - P) / P;
union() {
translate([0, 0, -section[11][1]])
rotate_extrude()
polygon(points=section);
translate([0, 0, P / 2])
thread(designator, turns=turns);
};
};
// Special Cases
module gasket_gardena_G3o4() {
gasket();
};
module gasket_gardena_G1() {
gasket(r0=20/2, r1=31.5/2, d=3);
};
module nozzle_gardena_G3o4 () {
nozzle(type="G3/4", section=[[13.25, 0], [16.5, 0], [16.5, -14], [10, -14],
[10, -18], [8, -21], [8, -37.7], [4.5, -37.7],
[4.5, -20], [7, -17], [7, -12], [13.25, -12]]);
};
module nozzle_gardena_G1 () {
nozzle();
};
// Demo
intersection() {
translate([-50, 0, -50])
color("Green")
cube(100);
union() {
gasket_gardena_G3o4();
nozzle_gardena_G3o4();
};
};