note issues with current rev in code
[clinton/wilson.git] / scad / x-end-idler.scad
1 // PRUSA iteration3
2 // X end idler
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 // Alterations for reprap wilson by M. Rice <mrice411@gmail.com>
8
9 include <configuration.scad>
10 use <x-end.scad>
11
12 idler_offs_z = -1; // negative here means "up" when installed
13 idler_offs_y = 4;
14
15 center_z = 30.25 -1;
16 tensioner_size_z = 12;
17
18 module x_end_idler_base(){
19 x_end_base();
20 }
21
22 module x_end_idler_holes(){
23 x_end_holes();
24 translate([0,idler_offs_y,idler_offs_z]) {
25 #translate(v=[0,-22,30.25]) rotate(a=[0,-90,0]) cylinder(h = 80, r=idler_bearing_inner_d/2+.3, $fn=30);
26 #translate(v=[2,-22,30.25]) rotate(a=[0,-90,0]) cylinder(h = 10, r=idler_bearing_inner_d/2 + 1, $fn=30);
27 #translate(v=[-21.5,-22,30.25]) rotate(a=[0,-90,0]) rotate(a=[0,0,30]) cylinder(h = 80, r=idler_bearing_inner_d, $fn=6);
28
29 // create a notch for the X tensioner, to improve the length of
30 // travel available
31 translate (v=[0,-22,30.25]) translate(v=[-10,-20,1]) #difference() {
32 rotate(a=[45,0,0]) cube(size=[30,22,22],center=true);
33 translate(v=[0,14,0]) cube(size=[31,4,8],center=true);
34 }
35 }
36 }
37
38 // Final part
39 module x_end_idler(){
40 mirror([0,1,0]) difference(){
41 x_end_idler_base();
42 x_end_idler_holes();
43 }
44
45 // added ridges to keep the tensioner from pitching
46 for (x = [-9.8, -20.2], z = [center_z-tensioner_size_z/2 - .5, center_z+tensioner_size_z/2 + .5]) {
47 d = 2;
48 translate(v=[x,1, z]) intersection () {
49 rotate ([45, 0, 90]) cube(size=[20,d, d],center=true);
50 translate ([(x < -15) ? d : -d, 0, 0]) rotate ([0, 0, 90]) cube(size=[20,d*2, d*2],center=true);
51 }
52 }
53 }
54
55 x_end_idler();
56
57