note issues with current rev in code
[clinton/wilson.git] / scad / belt-guide-624-uni.scad
CommitLineData
305ed29d
MR
1//
2// Parametric sleeve-style belt guide for 624, 623 bearings and their ilk.
3// mrice
4
5layer_height = 0.3;
6hotend_width = 0.5;
7
8wall= hotend_width*3;
9clearence= hotend_width/2;
10
11// for 624 bearings:
12bearing_d = 13;
13bearing_h = 5;
14bearing_inside_d = 4;
15belt_w = 7;
16
17// for 623 bearings:
18//bearing_d = 10;
19//bearing_h = 4;
20//bearing_inside_d = 3; // hole diameter of the bearing
21
22//guide_outer_d = bearing_d + 12;
23flange_h = 3*layer_height;
24//flange_d = 21;
25
26hole_for_inner = bearing_d/2+(2*clearence);
27r_for_inner = hole_for_inner + (2*hotend_width);
28hole_for_outer = r_for_inner+clearence;
29r_for_outer = hole_for_outer + (hotend_width*2);
30
31flange_d = 2*r_for_outer + (6*hotend_width);
32
33module belt_guide_base(a) {
34 if(a) {
35 cylinder(r=r_for_outer, h=belt_w+flange_h, $fn=50);
36 }
37 else {
38 cylinder(r=r_for_inner, h=belt_w+flange_h, $fn=50);
39 }
40 // outer flange
41 cylinder(r=flange_d/2, h=flange_h, $fn=50);
42}
43
44module belt_guide_holes(a){
45 // hole for the bearing:
46 if(a) {
47 #translate([0,0,flange_h+(1-a)*(belt_w-bearing_h-layer_height)]) cylinder(r=hole_for_outer, h=bearing_h+10, $fn=50);
48 }
49 else {
50 #translate([0,0,flange_h+(1-a)*(belt_w-bearing_h-layer_height)]) cylinder(r=hole_for_inner, h=bearing_h+10, $fn=50);
51 }
52 // hole for the rod through:
53 translate([0,0,-1]) cylinder(r=bearing_d/2-wall, h=10, $fn=50);
54}
55
56// Final part
57module belt_guide(){
58 difference(){
59 belt_guide_base(0);
60 belt_guide_holes(0);
61 }
62}
63
64module belt_guide_sleeve() {
65 difference(){
66 belt_guide_base(1);
67 belt_guide_holes(1);
68 }
69}
70
71belt_guide();
72
73translate([flange_d+5,0,0]) belt_guide_sleeve();