Commit | Line | Data |
---|---|---|
e6b2166c | 1 | // PRUSA iteration3 |
2 | // Bearing holders | |
3 | // GNU GPL v3 | |
4 | // Josef Průša <iam@josefprusa.cz> and contributors | |
5 | // http://www.reprap.org/wiki/Prusa_Mendel | |
6 | // http://prusamendel.org | |
7 | ||
8 | bearing_diameter = 15; | |
9 | ||
10 | module horizontal_bearing_base(bearings=1){ | |
11 | translate(v=[0,0,6]) cube(size = [24,8+bearings*25,12], center = true); | |
12 | } | |
13 | module horizontal_bearing_holes(bearings=1){ | |
14 | cutter_lenght = 10+bearings*25; | |
15 | one_holder_lenght = 8+25; | |
16 | holder_lenght = 8+bearings*25; | |
17 | ||
18 | // Main bearing cut | |
19 | difference(){ | |
69ecad60 | 20 | translate(v=[0,0,12+1.5]) rotate(a=[90,0,0]) translate(v=[0,0,-cutter_lenght/2]) cylinder(h = cutter_lenght, r=bearing_diameter/2, $fn=50); |
e6b2166c | 21 | // Bearing retainers |
69ecad60 JG |
22 | translate(v=[0,1-holder_lenght/2,3+1.5]) cube(size = [24,6,8], center = true); |
23 | translate(v=[0,-1+holder_lenght/2,3+1.5]) cube(size = [24,6,8], center = true); | |
e6b2166c | 24 | } |
25 | ||
26 | // Ziptie cutouts | |
27 | ziptie_cut_ofset = 0; | |
28 | for ( i = [0 : bearings-1] ){ | |
29 | // For easier positioning I move them by half of one | |
30 | // bearing holder then add each bearign lenght and then center again | |
31 | translate(v=[0,-holder_lenght/2,0]) translate(v=[0,one_holder_lenght/2+i*25,0]) difference(){ | |
32 | union(){ | |
33 | translate(v=[0,2-6,12]) rotate(a=[90,0,0]) translate(v=[0,0,0]) cylinder(h = 4, r=12.5, $fn=50); | |
34 | translate(v=[0,2+6,12]) rotate(a=[90,0,0]) translate(v=[0,0,0]) cylinder(h = 4, r=12.5, $fn=50); | |
35 | } | |
36 | translate(v=[0,10,12]) rotate(a=[90,0,0]) translate(v=[0,0,0]) cylinder(h = 24, r=10, $fn=50); | |
37 | } | |
38 | } | |
39 | ||
40 | } | |
41 | ||
42 | module horizontal_bearing_test(){ | |
43 | difference(){ | |
44 | horizontal_bearing_base(1); | |
45 | horizontal_bearing_holes(1); | |
46 | } | |
47 | translate(v=[30,0,0]) difference(){ | |
48 | horizontal_bearing_base(2); | |
49 | horizontal_bearing_holes(2); | |
50 | } | |
51 | translate(v=[60,0,0]) difference(){ | |
52 | horizontal_bearing_base(3); | |
53 | horizontal_bearing_holes(3); | |
54 | } | |
55 | } | |
56 | ||
57 | ||
58 | ||
59 | thinwall = 2; | |
60 | bearing_size = bearing_diameter + 2 * thinwall; | |
61 | ||
62 | module vertical_bearing_base(){ | |
63 | translate(v=[-2-bearing_size/4,0,30]) cube(size = [4+bearing_size/2,bearing_size,60], center = true); | |
64 | cylinder(h = 60, r=bearing_size/2, $fn = 60); | |
65 | } | |
66 | ||
67 | module vertical_bearing_holes(){ | |
68 | translate(v=[0,0,-1]) cylinder(h = 62, r=bearing_diameter/2, $fn = 60); | |
69 | rotate(a=[0,0,-60]) translate(v=[10,0,31]) cube(size = [10,1,62], center = true); | |
70 | } | |
71 | ||
72 | difference(){ | |
73 | vertical_bearing_base(); | |
74 | vertical_bearing_holes(); | |
69ecad60 | 75 | } |