diff options
author | clifford <clifford@b57f626f-c46c-0410-a088-ec61d464b74c> | 2010-01-21 09:54:06 (GMT) |
---|---|---|
committer | clifford <clifford@b57f626f-c46c-0410-a088-ec61d464b74c> | 2010-01-21 09:54:06 (GMT) |
commit | 16de8939075496b1ed1451b3c34032c25b94b108 (patch) | |
tree | 3cde057d5c93050e8a6d533acbfff18d419136cb /examples | |
parent | c436e9509432e5e40ef0b938c5f1aad87c2525f5 (diff) |
Clifford Wolf:
Added examples/example020.scad (screw and nut)
git-svn-id: http://svn.clifford.at/openscad/trunk@325 b57f626f-c46c-0410-a088-ec61d464b74c
Diffstat (limited to 'examples')
-rw-r--r-- | examples/example020.scad | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/examples/example020.scad b/examples/example020.scad new file mode 100644 index 0000000..8322939 --- /dev/null +++ b/examples/example020.scad @@ -0,0 +1,39 @@ + +module screw(type = 2, r1 = 15, r2 = 20, n = 7, h = 100, t = 8) +{ + linear_extrude(height = h, twist = 360*t/n, convexity = t) + difference() { + circle(r2); + for (i = [0:n-1]) { + if (type == 1) rotate(i*360/n) polygon([ + [ 2*r2, 0 ], + [ r2, 0 ], + [ r1*cos(180/n), r1*sin(180/n) ], + [ r2*cos(360/n), r2*sin(360/n) ], + [ 2*r2*cos(360/n), 2*r2*sin(360/n) ], + ]); + if (type == 2) rotate(i*360/n) polygon([ + [ 2*r2, 0 ], + [ r2, 0 ], + [ r1*cos(90/n), r1*sin(90/n) ], + [ r1*cos(180/n), r1*sin(180/n) ], + [ r2*cos(270/n), r2*sin(270/n) ], + [ 2*r2*cos(270/n), 2*r2*sin(270/n) ], + ]); + } + } +} + +module nut(type = 2, r1 = 16, r2 = 21, r3 = 30, s = 6, n = 7, h = 100/5, t = 8/5) +{ + difference() { + cylinder($fn = s, r = r3, h = h); + translate([ 0, 0, -h/2 ]) screw(type, r1, r2, n, h*2, t*2); + } +} + +translate([ -30, 0, 0 ]) +screw(); + +translate([ 30, 0, 0 ]) +nut(); |