Revert "Add top level readme, rename single_plate"
[clinton/prusa3.git] / single_plate / src / inc / bearing.scad
CommitLineData
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
8bearing_diameter = 15;
9
10module horizontal_bearing_base(bearings=1){
11 translate(v=[0,0,6]) cube(size = [24,8+bearings*25,12], center = true);
12}
13module 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
42module 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
59thinwall = 2;
60bearing_size = bearing_diameter + 2 * thinwall;
61
62module 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
67module 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
72difference(){
73vertical_bearing_base();
74vertical_bearing_holes();
69ecad60 75}