Revert "Add top level readme, rename single_plate"
[clinton/prusa3.git] / single_plate / src / inc / x-end.scad
1 // PRUSA iteration3
2 // X end prototype
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 include <../../configuration.scad>
9 use <bearing.scad>
10
11 module x_end_base(){
12 // Main block
13 translate(v=[-14,-10,30]) cube(size = [17,39,60], center = true);
14 // Bearing holder
15 vertical_bearing_base();
16 //Nut trap
17 // Cube
18 translate(v=[-2-2,-17,4]) cube(size = [8,16,8], center = true);
19 // Hexagon
20 translate(v=[0,-17,0]) rotate([0,0,30]) cylinder(h = 8, r=8, $fn = 6);
21 }
22
23 module x_end_holes(){
24 vertical_bearing_holes();
25 // Belt hole
26 translate(v=[-5.5-10+1.5,-10,30]) cube(size = [10,46,32], center = true);
27 // Bottom pushfit rod
28 translate(v=[-14,-40,6]) rotate(a=[-90,0,0]) pushfit_rod(8,50);
29 // Top pushfit rod
30 translate(v=[-14,-40,x_rod_distance+6]) rotate(a=[-90,0,0]) pushfit_rod(8,50);
31 // Nut trap
32 translate(v=[0,-17,-1]) cylinder(h = 10, r=2.45);
33 translate(v=[0,-17,3]) rotate([0,0,30]) cylinder(h = 5, r=4.5, $fn = 6);
34 }
35
36
37 // Final prototype
38 module x_end_plain(){
39 difference(){
40 x_end_base();
41 x_end_holes();
42 }
43 }
44
45 //x_end_plain();
46
47
48 module pushfit_rod(diameter,length){
49 cylinder(h = length, r=diameter/2, $fn=30);
50 translate(v=[0,-diameter/4,length/2]) cube(size = [diameter,diameter/2,length], center = true);
51 translate(v=[0,-diameter/2-2,length/2]) cube(size = [diameter,1,length], center = true);
52 }
53