Commit | Line | Data |
---|---|---|
2159eed1 VAH |
1 | // PRUSA iteration3 |
2 | // X carriage | |
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 | use <bushing.scad> | |
88f30890 VAH |
11 | // mounting plate |
12 | use <extras/groovemount.scad> | |
2159eed1 | 13 | |
88f30890 | 14 | carriage_l = 74; |
ff44e5ab VAH |
15 | carriage_hole_to_side = 5; |
16 | carriage_hole_height = 4; | |
2159eed1 | 17 | |
d3618a65 | 18 | |
88f30890 VAH |
19 | module x_carriage(){ |
20 | mirror([1,0,0]) { | |
21 | difference() { | |
22 | union() { | |
23 | //upper bearing | |
24 | rotate([0,0,180]) { | |
25 | if (bearing_choice == 2) { | |
26 | linear_bearing(fillet = true); | |
27 | } else { | |
28 | linear_bushing(27); | |
29 | } | |
30 | } | |
d3618a65 | 31 | |
88f30890 VAH |
32 | //lower bearing |
33 | translate([xaxis_rod_distance,0,0]) { | |
34 | if (bearing_choice == 2) { | |
35 | linear_bearing(carriage_l, fillet = true); | |
36 | } else { | |
37 | linear_bushing(carriage_l); | |
38 | } | |
39 | } | |
d3618a65 | 40 | |
88f30890 VAH |
41 | // main plate |
42 | //difference(){ | |
43 | translate([5.5,-10,0]) cube_fillet([xaxis_rod_distance - 11,5,carriage_l], radius=2); | |
44 | //translate([55,-17.5, 67]) rotate([0,70,0]) cube([80,60,60], center = true); | |
45 | //} | |
db544728 | 46 | |
88f30890 | 47 | //reduce springiness |
db544728 | 48 | |
88f30890 VAH |
49 | translate([6,5,20]) cube([xaxis_rod_distance - 13,5,8]); |
50 | ||
51 | ||
ff44e5ab VAH |
52 | translate([20,0,carriage_hole_to_side]) { |
53 | rotate([90,0,0]) cylinder(r=(carriage_hole_to_side > 5 ? 5 : carriage_hole_to_side), h=12, center=true); | |
88f30890 | 54 | } |
ff44e5ab VAH |
55 | translate([20,0,carriage_l - carriage_hole_to_side]) { |
56 | rotate([90,0,0]) cylinder(r=(carriage_hole_to_side > 5 ? 5 : carriage_hole_to_side), h=12, center=true); | |
88f30890 | 57 | } |
d3618a65 | 58 | |
88f30890 | 59 | translate([45/2,0,0]){ |
d3618a65 | 60 | |
88f30890 VAH |
61 | // belt dummy |
62 | %translate([0,0,carriage_l/2]) cube([20,6,carriage_l], center = true); | |
d3618a65 | 63 | |
88f30890 VAH |
64 | //belt flat side |
65 | difference() { | |
66 | translate([-13.5,0,carriage_l/2]) cube_fillet([7,14,carriage_l], vertical = [3,3,0,0], center = true); | |
67 | translate([-45/2,0,0]) bushing_negative(); | |
68 | } | |
3ade0448 | 69 | |
88f30890 VAH |
70 | difference(){ |
71 | translate([-3.5,0,carriage_l/2]) cube_fillet([11,14,carriage_l], vertical = [2,2,0,0], center = true); | |
72 | #translate([-3.5,0,carriage_l/2]) cube([13,10,40], center = true); | |
3ade0448 | 73 | |
88f30890 VAH |
74 | intersection() { |
75 | for (i = [0 : carriage_l/belt_tooth_distance]) | |
76 | { | |
77 | translate([-8.5, 0, 1+i*belt_tooth_distance]) cube([2, 10, belt_tooth_distance*belt_tooth_stride], center = true); | |
78 | } | |
79 | translate([0, 0, carriage_l/2]) cube([20, 10, carriage_l], center = true); | |
80 | } | |
81 | } | |
82 | ||
83 | } | |
84 | } | |
ff44e5ab | 85 | #translate([20,-2,carriage_hole_to_side]) { |
88f30890 | 86 | rotate([90,0,0]) cylinder(r=2.2, h=22, center=true); |
ff44e5ab VAH |
87 | translate([0,3,0]) rotate([90,90,0]) cylinder(r=9/2, h=carriage_hole_height, $fn=6, center=true); |
88 | translate([0,3,-3]) cube([8,carriage_hole_height,8], center=true); | |
88f30890 | 89 | } |
ff44e5ab | 90 | #translate([20,-2,carriage_l-carriage_hole_to_side]) { |
88f30890 | 91 | rotate([90,0,0]) cylinder(r=2.2, h=22, center=true); |
ff44e5ab VAH |
92 | translate([0,3,0]) rotate([90,90,0]) cylinder(r=9/2, h=carriage_hole_height, $fn=6, center=true); |
93 | translate([0,3,3]) cube([8,carriage_hole_height,8], center=true); | |
2159eed1 | 94 | } |
88f30890 | 95 | |
3ade0448 VAH |
96 | } |
97 | } | |
98 | ||
88f30890 VAH |
99 | module holding_plate(){ |
100 | translate([13,-10,0]){ | |
101 | difference(){ | |
102 | translate([2.5-13.8/2, -17.5,35]) cube([5,35,carriage_l], center = true); | |
103 | translate([2.5-13.8/2, -17.5,35]) cube([7,25,25], center = true); | |
104 | translate([0,-17.5, 35-25]) rotate([0,-90,0]) cylinder(h = 80, r=2.5, $fn=30); | |
105 | translate([0,-17.5, 35+25]) rotate([0,-90,0]) cylinder(h = 80, r=2.5, $fn=30); | |
106 | } | |
107 | ||
108 | %translate([-7, -18 ,carriage_l/2]) rotate([-90,0,90]) groovemount(); | |
109 | } | |
110 | } | |
3ade0448 | 111 | } |
88f30890 VAH |
112 | |
113 | x_carriage(); | |
114 | //holding_plate(); |