-
Notifications
You must be signed in to change notification settings - Fork 0
/
xbelt.scad
74 lines (61 loc) · 2.47 KB
/
xbelt.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
$fn=32;
belt_above_frame=10;
belt_width=9;
idler_height=14;
idler_dia=19;
idler_center_offset=4;
module idlerpulley() {
difference() {
cylinder(d=idler_dia,h=idler_height+2,center=true);
translate([0,0,-idler_height/2-2]) cylinder(d=8,h=2);
translate([0,0,idler_height/2]) cylinder(d=8,h=2);
}
}
difference() {
h_above_profile=belt_above_frame+belt_width/2-idler_height/2+5;
union() {
hull() {
cylinder(r=7,h=20+h_above_profile);
//translate([0,-idler_center_offset-10,0]) cylinder(r=7,h=20+h_above_profile);
//translate([-13,-idler_center_offset-10,0]) cylinder(r=7,h=20+h_above_profile);
}
translate([0,-idler_center_offset,10]) rotate([-90,0,0]) hull() {
translate([11,-3,0]) cylinder(r=7,h=8);
translate([11,3,0]) cylinder(r=7,h=8);
translate([-4,-10+3-belt_above_frame-belt_width/2+idler_height/2,0]) cylinder(r=3,h=8);
translate([4,-10+3-belt_above_frame-belt_width/2+idler_height/2,0]) cylinder(r=3,h=8);
translate([-11,-3,0]) cylinder(r=7,h=8);
translate([-11,3,0]) cylinder(r=7,h=8);
}
}
//shaft
translate([0,0,-1]) cylinder(d=5.2,h=100);
//idler
translate([0,0,20+belt_above_frame+belt_width/2]) {
idlerpulley();
hull() {
translate([20,0,0]) cylinder(d=idler_dia,h=idler_height,center=true);
translate([0,0,0]) cylinder(d=idler_dia,h=idler_height,center=true);
}
}
//2020 profile
translate([-50,-20-idler_center_offset,-1]) cube([100,20,41]);
// support chamfer
hull() {
r=12;
translate([7+r/2,5+r-idler_center_offset,-1]) cylinder(r=r,h=100);
translate([27+r/2,5+r-idler_center_offset,-1]) cylinder(r=r,h=100);
}
mirror([1,0,0]) hull() {
r=12;
translate([7+r/2,5+r-idler_center_offset,-1]) cylinder(r=r,h=100);
translate([27+r/2,5+r-idler_center_offset,-1]) cylinder(r=r,h=100);
}
// nuts
translate([13,-idler_center_offset+6,10]) rotate([90,0,0]) cylinder(d=5.6,h=20);
translate([13,-idler_center_offset+8,10]) rotate([90,0,0]) cylinder(d=11,h=3);
translate([-13,-idler_center_offset+6,10]) rotate([90,0,0]) cylinder(d=5.6,h=20);
translate([-13,-idler_center_offset+8,10]) rotate([90,0,0]) cylinder(d=11,h=3);
// support
for (z=[4:4:25]) translate([-6,-idler_center_offset-1,z]) cube([12,20,0.3]);
}