Commit | Line | Data |
---|---|---|
2159eed1 | 1 | // PRUSA iteration3 |
692cedb6 VAH |
2 | // Bearing guide |
3 | // GNU GPL v3 | |
2159eed1 VAH |
4 | // Josef Průša <josefprusa@me.com> |
5 | // Václav 'ax' Hůla <axtheb@gmail.com> | |
6 | // Original design by Greg Frost | |
692cedb6 | 7 | // http://www.reprap.org/wiki/Prusa_Mendel |
8e93419f | 8 | // http://github.com/josefprusa/Prusa3 |
692cedb6 VAH |
9 | |
10 | ||
11 | /** | |
12 | * Helps to hold belt aligned on the bearing. | |
13 | * @id bearing-guide | |
14 | * @name Bearing guide | |
15 | * @category Printed | |
16 | */ | |
17 | ||
eff6608e | 18 | include <../configuration.scad> |
4e1cf096 | 19 | include <functions.scad> |
692cedb6 | 20 | |
4e1cf096 VAH |
21 | //guiding_wall_thickness of guiding wall |
22 | guiding_wall_thickness=layer_height * 4; | |
88fc28e9 | 23 | |
4e1cf096 VAH |
24 | //width of the 'groove' in guide. |
25 | // Hardcoded as wider belts work imo better without guides | |
26 | belt_width = 6.5; | |
27 | ||
28 | height = max(belt_width, idler_bearing[1]) + guiding_wall_thickness; | |
29 | //How much the guiding wall overlaps the bearing wall (to the center) | |
88fc28e9 | 30 | wall_descent = 1; |
692cedb6 | 31 | |
4e1cf096 VAH |
32 | module bearing_guide_inner(){ |
33 | //inner (smaller) part of the guide | |
88fc28e9 | 34 | difference(){ |
4e1cf096 VAH |
35 | cylinder(r=idler_bearing[0] / 2 + single_wall_width * 3, h=height - (max( idler_bearing[1], belt_width) - idler_bearing[1]) / 2); |
36 | translate([0, 0, -1]) | |
37 | cylinder(r=idler_bearing[0] / 2, h=height + 2); | |
692cedb6 VAH |
38 | } |
39 | ||
88fc28e9 VAH |
40 | difference(){ |
41 | union() { | |
4e1cf096 VAH |
42 | cylinder(r=idler_assy_r_outer(idler_bearing), h=guiding_wall_thickness); //guide wall |
43 | cylinder(r=idler_bearing[0] / 2, h=guiding_wall_thickness + (belt_width - idler_bearing[1])/2); //this centers the guide on bearing | |
88fc28e9 | 44 | } |
692cedb6 | 45 | translate([0,0,-1]) |
4e1cf096 | 46 | cylinder(r=idler_bearing[0] / 2 - wall_descent, h=guiding_wall_thickness + 10); |
692cedb6 VAH |
47 | } |
48 | } | |
49 | ||
4e1cf096 | 50 | module bearing_guide_outer(){ |
88fc28e9 | 51 | difference(){ |
4e1cf096 | 52 | cylinder(r=idler_bearing[0] / 2 + 6 * single_wall_width + 0.2, h=height); |
692cedb6 | 53 | translate([0,0,-1]) |
4e1cf096 | 54 | cylinder(r=idler_bearing[0] / 2 + single_wall_width * 2 + 0.2, h=height + 2); |
692cedb6 VAH |
55 | } |
56 | ||
88fc28e9 VAH |
57 | difference(){ |
58 | union(){ | |
4e1cf096 VAH |
59 | cylinder(r=idler_assy_r_outer(idler_bearing), h=guiding_wall_thickness); |
60 | cylinder(r=idler_bearing[0] / 2, h=guiding_wall_thickness + (belt_width - idler_bearing[1])/2); | |
88fc28e9 | 61 | } |
692cedb6 | 62 | translate([0,0,-1]) |
4e1cf096 | 63 | cylinder(r=idler_bearing[0]/2-wall_descent, h=height + 5); |
692cedb6 VAH |
64 | } |
65 | } | |
66 | ||
4e1cf096 | 67 | module bearing_assy(){ |
692cedb6 | 68 | |
4e1cf096 VAH |
69 | bearing_guide_inner(); |
70 | translate([idler_assy_r_outer(idler_bearing) * 2 + 2, 0, 0]) | |
71 | bearing_guide_outer(); | |
2159eed1 | 72 | } |
4e1cf096 VAH |
73 | |
74 | bearing_assy(); |