Bearing guide fixes, new sample stls.
[clinton/prusa3.git] / box_frame / inc / bearing-guide.scad
CommitLineData
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
VAH
7// http://www.reprap.org/wiki/Prusa_Mendel
8// http://github.com/prusajr/PrusaMendel
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 18include <../configuration.scad>
4e1cf096 19include <functions.scad>
692cedb6 20
4e1cf096
VAH
21//guiding_wall_thickness of guiding wall
22guiding_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
26belt_width = 6.5;
27
28height = max(belt_width, idler_bearing[1]) + guiding_wall_thickness;
29//How much the guiding wall overlaps the bearing wall (to the center)
88fc28e9 30wall_descent = 1;
692cedb6 31
4e1cf096
VAH
32module 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 50module 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 63cylinder(r=idler_bearing[0]/2-wall_descent, h=height + 5);
692cedb6
VAH
64 }
65}
66
4e1cf096 67module 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
74bearing_assy();