-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathball_screw.scad
39 lines (30 loc) · 1.67 KB
/
ball_screw.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
use <threadlib/threadlib.scad>
tr=3;
MY_THREAD_TABLE = [
["M8x0.5-ext", [1, 3.6310, 7.3505,
[[0, -0.2262], [0, 0.2262], [0.3325, 0.0342], [0.3325, -0.0342]] ]],
["M8x0.5-int", [1, -4.0777, 8.0920,
[[0, 0.2475], [0, -0.2475], [0.3132, -0.0667], [0.3132, 0.0667]] ]],
["t2-ext", [25, -37.5, 75,
[[0, -3], [0.520945, -2.95442], [1.02606, -2.81908], [1.5, -2.59808], [1.92836, -2.29813], [2.29813, -1.92836], [2.59808, -1.5], [2.81908, -1.02606], [2.95442, -0.520945], [3, 0], [2.95442, 0.520945], [2.81908, 1.02606], [2.59808, 1.5], [2.29813, 1.92836], [1.92836, 2.29813], [1.5, 2.59808], [1.02606, 2.81908], [0.520945, 2.95442], [0, 3]] ]],
["t2-int", [25, -37.6, 75,
[[0, -3], [0.520945, -2.95442], [1.02606, -2.81908], [1.5, -2.59808], [1.92836, -2.29813], [2.29813, -1.92836], [2.59808, -1.5], [2.81908, -1.02606], [2.95442, -0.520945], [3, 0], [2.95442, 0.520945], [2.81908, 1.02606], [2.59808, 1.5], [2.29813, 1.92836], [1.92836, 2.29813], [1.5, 2.59808], [1.02606, 2.81908], [0.520945, 2.95442], [0, 3]] ]],
];
plug();
module plug(){
difference(){
cylinder(d=75, h=100, $fn=360);
translate([0,0,4]) rotate([0,0,180]) thread("t2-int", turns=3.7, table=MY_THREAD_TABLE);
// translate([0,0,4]) thread("t2-int", turns=3.7, table=MY_THREAD_TABLE);
cylinder(d=18.2, h=160, $fn=6);
}
}
//%cylinder(d=7.3505, h=20);
//thread("M8x0.5-ext", turns=5, table=MY_THREAD_TABLE);
//thread("M8x0.5-int", turns=5, table=MY_THREAD_TABLE);
module plot(angle=0, r=tr) {
translate([r*cos(angle),r*sin(angle)])
circle(.1,$fn=12);
}
function point(angle=0, r=tr) = [r*cos(angle),r*sin(angle)];
//echo([ for (a = [-90:10:90]) point(a) ]);