-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathidler_end.scad
54 lines (42 loc) · 1.61 KB
/
idler_end.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
include <configuration.scad>
use <bracket.scad>
h = idler_end_height; // Total height.
tilt = 1; // Tilt bearings upward (the timing belt is pulling pretty hard).
// 2 degree tilt caused belts to slide off the bearings
module bearing_mount() {
translate([0, 0, 2.3]) cylinder(r1=12, r2=9, h=1.1, center=true);
translate([0, 0, -2.3]) cylinder(r1=9, r2=12, h=1.1, center=true);
}
x = 17.7; // Micro switch center.
y = 16; // Micro switch center.
module idler_end() {
translate([0, 0, h/2])
difference() {
union() {
// Main bracket
bracket(h);
// Bearing reinforcement mount
translate([0, 7.5, 0]) rotate([90 - tilt, 0, 0]) bearing_mount();
// Limit switch placeholder.
difference() {
translate([20, 11.88, -h/2+5]) cube([18, 8, 10], center=true);
translate([x, y, -h/2+4]) rotate([0, 0, 15]) cube([30, 6.34, 20], center=true);
translate([x, y, -h/2+4]) rotate([0, 0, 15]) cube([20,6.34,10], center=true);
translate([30, 12, -h/2+5]) cylinder(r=3, h=20, center=true);
}
}
// Screw hole for limit switch
translate([x, y, -h/2+6]) rotate([0, 0, 15]) {
translate([-9.5/2, 0, 0]) rotate([90, 0, 0]) cylinder(r=1.1, h=26, center=true, $fn=12);
translate([9.5/2, 0, 0]) rotate([90, 0, 0]) cylinder(r=1.1, h=26, center=true, $fn=12);
}
//
translate([x, y, -h/2+5]) rotate([0, 0, 15]) cube([21,6.34,12], center=true);
// Hole for idler bearing bolt
translate([0, 8, 0]) rotate([90 - tilt, 0, 0]) cylinder(r=4, h=40, center=true);
// Smooth rod clamping screws
for (i = [-1, 1]) for (z = [-7, 7])
translate([i, -1, z]) screws();
}
}
idler_end();