forked from jcrocholl/kossel
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbeltCatch.scad
More file actions
58 lines (51 loc) · 2.01 KB
/
beltCatch.scad
File metadata and controls
58 lines (51 loc) · 2.01 KB
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
beltThick = 1.45 + 0.2; // thickness of belt from back to tooth tip
// the doubled belt part must be very tight, or teeth will slip.
beltThick2 = 2.35 + 0.1; // thickness of DOUBLED over belt, teeth interlocked
module beltCatch(height,full=false)
{
postRad = 2.7; // radius of main post
// post is a little thin to safely support a screw.
// move pilot screw hole to an outer brace
//difference() {
hull() {
cylinder(h=height,r=postRad,$fn=32);
translate([-postRad,0,0]) cube([0.6,2.0*postRad,height]);
}
// translate([0,0,height-4]) cylinder(h=5,r=.6,$fn=11); // pilot hole for optional lock-in screw
//}
difference() {
union() {
difference() {
cylinder(h=height,r=postRad+beltThick+3,$fn=48);
translate([0,0,-1]) cylinder(h=height+2,r=postRad+beltThick,$fn=48);
translate([-10,0,-1]) cube([10,20,height+2]);
translate([-10*.7071,10*.7071,-1]) rotate([0,0,-45]) cube([10,20,height+2]);
}
translate([-postRad-beltThick-3,-.1,0]) hull() {
translate([-2, 0,0]) cube([5,3 ,height]);
translate([ 1,15,0]) cube([2,1,height]);
}
hull() {
translate([-postRad-beltThick+beltThick2, 2.0*postRad+beltThick+.5,0])
cube([2,8.35,height]);
rotate([0,0,43]) translate([postRad+beltThick,0,0]) cube([3,1,height]);
}
}
// chop off (unnecessary) bottom curve part of catch
translate([-12 ,-15,-1]) cube([24,15-postRad-beltThick-0.2,height+2]);
translate([-2.5,-15,-1]) cube([ 5,15-postRad-0.2 ,height+2]);
if (!full) {
// chop off most of far brace for close quarters
translate([postRad+1,-8,-1]) cube([10,20,height+2]);
translate([-2,-7,-1]) rotate([0,0,-45]) cube([5,10,height+2]);
}
// pilot hole for optional lock-in screw
translate([1,1.7*postRad+.7*beltThick+3,height-4])
cylinder(h=5,r=.8,$fn=6);
}
}
union(){
beltCatch(6.3);
translate([-6.4,-4.5,-2.5]) cube([10.1,20.4,2.7]);
}
%translate([0,-20,0]) mirror([0,1,0]) beltCatch(6,full=true);