rename nema->nema17, put shadow bearing on idlerholder
[clinton/prusa3.git] / y-driverain.scad
1 // PRUSA Mendel
2 // Y drivetrain (except bed parts)
3 // GNU GPL v3
4 // Josef Prusa
5 // http://www.reprap.org/wiki/Prusa_Mendel
6 // http://github.com/prusajr/PrusaMendel
7
8 use <inc/functions.scad>
9 include <configuration.scad>
10
11 module motorholder(thickness=10){
12 difference(){
13 union(){
14 // Motor holding part
15 translate(v = [29,-21+50,0])
16 {
17 //#cube(size = [42,42,2], center=true);
18 difference(){
19 union(){
20 translate(v = [-21+4.5,0,5]) cube(size = [9,31,thickness], center=true);
21 nema17([0,1,1,0], thickness=thickness, shadow=true);
22 // Parts joining part
23 translate(v = [-29,-21,0]) cube(size = [14,30,thickness]);
24 }
25 // Motor mounting holes
26 translate([0,0,thickness]) mirror([0,0,1]) nema17([0,1,1,0], thickness=thickness, holes=true);
27 }
28 }
29
30 // Front holding part
31 translate(v = [0,10,0]) cylinder(h = thickness, r=8);
32 translate(v = [0,20,5])cube(size = [16,20,thickness], center=true);
33 translate(v = [0,30,0])cylinder(h = thickness, r=8);
34 }
35 translate(v = [0,10,-1]) cylinder(h = 12, r=4.5);
36 translate(v = [0,30,-1])cylinder(h = 12, r=4.5);
37 }
38 }
39
40
41 module idlermount(support=false){
42 difference(){
43 union(){
44 translate(v = [8,8,0]) cylinder(h = 19, r=8);
45 translate(v = [8,33,0]) cylinder(h = 19, r=8);
46 translate(v = [0,7,0]) cube([16,27,19]);
47 }
48 translate(v = [8,8,-1]) cylinder(h = 120, r=idler_size_inner_r);
49 translate(v = [8,33,-1])cylinder(h = 25, r=4.5);
50
51 translate(v = [8,8,4]) {
52 %translate([0,0,1]) cylinder(h = 9, r=(idler_size/2)+2*single_wall_width);
53 cylinder(h = 11, r=(idler_size/2)+8);
54 }
55 }
56 if (support) {
57 translate([0,-2,15]) cube([16,16,0.4]);
58 translate([0,-2,0]) cube([16,1.3,15]);
59 }
60
61 }
62
63 motorholder();
64 translate([25,0,0]) idlermount(true);
65