forked from jcrocholl/kossel
-
Notifications
You must be signed in to change notification settings - Fork 0
/
pulleyHolder.scad
73 lines (63 loc) · 2.01 KB
/
pulleyHolder.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
boltSep = 12;
baseRad = 5;
m3rad = 2.94/2 + .1;
baseHeight = 10;
module boltHolder() {
scale([.9,1.1,1]) hull() {
cylinder(r=baseRad,h=baseHeight,$fn=45);
translate([0,0,baseHeight+1.5]) scale([1.3,1,1]) cylinder(r=3.5,h=1,$fn=45);
}
}
module nutHole() {
union() {
cylinder(r1=5.2/2/.866+.1,r2=3.2/.866,h=5,$fn=6);
translate([0,0,-30]) cylinder(r=m3rad+.1,h=31,$fn=13);
}
}
module pulleyProxy() {
rotate([90,0,0]) difference() {
cylinder(r=11.5/2,h=8,center=true,$fn=48);
cylinder(r=1.5,h=9,center=true,$fn=16);
}
}
module pulleyArea() {
w2=5.2;
h2=2.5+.2;
cr=2.5;
bh=baseHeight+5;
ef=24;
difference() {
hull() {
translate([-w2, h2,-1]) cylinder(r=cr,h=bh,$fn=ef);
translate([-w2,-h2,-1]) cylinder(r=cr,h=bh,$fn=ef);
translate([ w2, h2,-1]) cylinder(r=cr,h=bh,$fn=ef);
translate([ w2,-h2,-1]) cylinder(r=cr,h=bh,$fn=ef);
}
translate([0,-4,baseHeight/2]) rotate([ 90,0,0]) cylinder(r1=2.5,r2=6,h=3,$fn=22);
translate([0, 4,baseHeight/2]) rotate([-90,0,0]) cylinder(r1=2.5,r2=6,h=3,$fn=22);
}
}
module pulleyHolder() {
difference() {
union() {
translate([-boltSep,0,0]) boltHolder();
translate([ boltSep,0,0]) boltHolder();
hull() {
translate([-boltSep,0,0]) scale([.9,1.1,1]) cylinder(r=baseRad,h=baseHeight,$fn=48);
translate([ boltSep,0,0]) scale([.9,1.1,1]) cylinder(r=baseRad,h=baseHeight,$fn=48);
// 16 wide is about perfect for M3-14 bolt.
// may want to switch to an M3-16 in the future, so this would have to be wider
translate([0,0,baseHeight/2])
rotate([90,0,0]) cylinder(r=4,h=16,center=true,$fn=24);
}
}
translate([-boltSep,0,baseHeight]) nutHole();
translate([ boltSep,0,baseHeight]) nutHole();
translate([0,-baseRad-1,baseHeight/2]) rotate([ 90,0,0]) nutHole();
translate([0, baseRad+1,baseHeight/2]) rotate([-90,0,0])
cylinder(r1=5.5/2-.1,r2=5.5/2+.3,h=5,$fn=23);
pulleyArea();
}
}
pulleyHolder();
%translate([0,0,baseHeight/2]) pulleyProxy();