made Y idler configurable by bearing size, also made it square for perfect print...
[clinton/prusa3.git] / y-drivetrain.scad
1 // PRUSA iteration3
2 // Y drivetrain (idler and stepper holders)
3 // GNU GPL v3
4 // Josef Průša <josefprusa@me.com>
5 // Václav 'ax' Hůla <axtheb@gmail.com>
6 // http://www.reprap.org/wiki/Prusa_Mendel
7 // http://github.com/prusajr/PrusaMendel
8
9 include <configuration.scad>
10
11 module motorholder(thickness=10){
12 difference(){
13 union(){
14 // Motor holding part
15 translate([29,-21+50,0])
16 {
17 //#cube([42,42,2], center=true);
18 difference(){
19 union(){
20 translate([-21+4.5,0,5]) cube([9,31,thickness], center=true);
21 nema17([0,1,1,0], thickness=thickness, shadow=false);
22 mirror([0,0,1])translate([0,0,-10])nema17([0,1,1,0], thickness=thickness, shadow=7);
23 // Parts joining part
24 translate([-29,-21,0]) cube([14,30,thickness]);
25 }
26 // Motor mounting holes
27 translate([0,0,thickness]) mirror([0,0,1]) nema17([0,1,1,0], thickness=thickness, holes=true);
28 }
29 }
30
31 // Front holding part
32 translate([0,10,0]) cylinder(h = thickness, r=8);
33 translate([0,20,5]) cube([16,20,thickness], center=true);
34 translate([0,30,0]) cylinder(h = thickness, r=8);
35 }
36 translate([0,10,-1]) cylinder(h = 12, r=4.5);
37 translate([0,30,-1]) cylinder(h = 12, r=4.5);
38 }
39 }
40
41
42 module idlermount(support=false){
43 difference(){
44 union(){
45 //translate([8,8,0]) cylinder(h = 19, r=8);
46 //translate([8,33,0]) cylinder(h = 19, r=8);
47 translate([0,7-5,0]) cube([16,27+12,10+idler_width]);
48 }
49 translate([8,8,-1]) cylinder(h = 120, r=idler_size_inner_r);
50 translate([8,33,-1]) cylinder(h = 25, r=4.5);
51
52 translate([8,8,4]) {
53 %translate([0,0,1]) cylinder(h = idler_width, r=(idler_size/2)+2*single_wall_width);
54 cylinder(h = idler_width+2, r=(idler_size/2)+8);
55 }
56 }
57 if (support) {
58 translate([0,-2,15]) cube([16,16,0.4]);
59 translate([0,-2,0]) cube([16,1.3,15]);
60 }
61
62 }
63
64 motorholder();
65 translate([25,0,10]) rotate([0,90,0]) idlermount();
66