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 | |
ad345632 | 14 | |
ccb73da3 VAH |
15 | //Use 30 for single extruder, 50 for wades, 80 for dual extruders (moved to config file) |
16 | //carriage_l_base = 80; | |
c9d4aabe VAH |
17 | //check if we need to extend carriage to fit bearings |
18 | carriage_l_real = max(adjust_bushing_len(bushing_xy, carriage_l_base, layer_height * 9), adjust_bushing_len(bushing_carriage, carriage_l_base, layer_height * 9)); | |
19 | // if the carriage was extended, we want to increase carriage_hole_to_side | |
20 | carriage_hole_to_side = max(3, ((carriage_l_real - carriage_l_base) / 2)); | |
21 | carriage_l = carriage_l_base + 2 * carriage_hole_to_side; | |
2159eed1 | 22 | |
ad345632 VAH |
23 | bushing_carriage_len = adjust_bushing_len(bushing_carriage, 21, layer_height * 9); |
24 | ||
88f30890 VAH |
25 | module x_carriage(){ |
26 | mirror([1,0,0]) { | |
27 | difference() { | |
28 | union() { | |
29 | //upper bearing | |
c9d4aabe | 30 | rotate([0, 0, 90]) linear(bushing_carriage); |
88f30890 | 31 | //lower bearing |
c9d4aabe | 32 | translate([xaxis_rod_distance,0,0]) rotate([0, 0, 90]) linear(bushing_xy, carriage_l); |
d3618a65 | 33 | |
ccb73da3 | 34 | //This block moves with varying bearing thickness to ensure the front side is flat |
c9d4aabe VAH |
35 | translate([0, -bushing_foot_len(bushing_xy), 0]) { |
36 | // main plate | |
81d18889 | 37 | translate([4, -1, 0]) cube_fillet([xaxis_rod_distance + 4, 6, carriage_l], radius=2); |
c9d4aabe | 38 | translate([-8, -1, 0]) cube_fillet([xaxis_rod_distance + 16, 6, bushing_carriage_len + 3], radius=2); |
88f30890 | 39 | } |
d3618a65 | 40 | |
88f30890 | 41 | translate([45/2,0,0]){ |
d3618a65 | 42 | |
ccb73da3 | 43 | //fill the space where the belt is, as it will be substracted at later point and we want it stiff here. |
c9d4aabe VAH |
44 | //belt smooth side |
45 | translate([-13.5 - belt_thickness, -8.5, 0]) cube_fillet([5, 15, carriage_l], vertical = [2, 2, 0, 0]); | |
46 | //belt teethed side, with cutouts for belt ends. | |
88f30890 | 47 | difference(){ |
81d18889 VAH |
48 | union() { |
49 | translate([-3, -1, carriage_l/2]) cube_fillet([11, 16, carriage_l], vertical = [2, 2, 0, 0], center = true); | |
50 | translate([-13, -10, 0]) cube([8, 10, carriage_l]); | |
51 | } | |
c9d4aabe VAH |
52 | translate([-3.5, 0, 70]) cube([13, 10, 8], center = true); |
53 | translate([-3.5, 0, 43]) cube([13, 10, 8], center = true); | |
54 | translate([-3.5, 0, 18]) cube([13, 10, 8], center = true); | |
88f30890 VAH |
55 | } |
56 | ||
57 | } | |
58 | } | |
c9d4aabe | 59 | //Ensure upper bearing can be inserted cleanly |
81d18889 | 60 | rotate([0, 0, 90]) { |
ad345632 | 61 | linear_negative(bushing_carriage); |
f88c1104 | 62 | } |
c9d4aabe | 63 | //Same for lower bearing |
81d18889 | 64 | translate([xaxis_rod_distance, 0, 0]) rotate([0, 0, 90]) { |
f88c1104 VAH |
65 | linear_negative(bushing_xy, carriage_l); |
66 | } | |
5ea6ab38 | 67 | // extruder mounts |
c9d4aabe VAH |
68 | translate([20, -2, carriage_hole_to_side]) { |
69 | rotate([90, 0, 0]) cylinder(r=1.8, h=32, center=true); | |
81d18889 | 70 | translate([0, 7, 0]) rotate([90, 60, 0]) cylinder(r=3.4, h=5, $fn=6, center=true); |
88f30890 | 71 | } |
c9d4aabe VAH |
72 | translate([20, -2, carriage_hole_to_side + 30]) { |
73 | rotate([90, 0, 0]) cylinder(r=1.8, h=32, center=true); | |
81d18889 | 74 | translate([0, 7, 0]) rotate([90, 60, 0]) cylinder(r=3.4, h=5, $fn=6, center=true); |
2159eed1 | 75 | } |
c9d4aabe VAH |
76 | if (carriage_l >= 50 + 2 * carriage_hole_to_side) { |
77 | translate([20, -2, carriage_hole_to_side + 30 + 20]) { | |
81d18889 VAH |
78 | rotate([90, 0, 0]) cylinder(r=1.8, h=32, center=true); |
79 | translate([0, 7, 0]) rotate([90, 60, 0]) cylinder(r=3.4, h=5, $fn=6, center=true); | |
c9d4aabe | 80 | } |
eb7e175e | 81 | } |
c9d4aabe | 82 | if (carriage_l >= 80 + 2 * carriage_hole_to_side) { |
81d18889 VAH |
83 | translate([20, -2, carriage_hole_to_side + 30 + 20 + 30]) { |
84 | rotate([90, 0, 0]) cylinder(r=1.8, h=32, center=true); | |
85 | translate([0, 7, 0]) rotate([90, 60, 0]) cylinder(r=3.4, h=5, $fn=6, center=true); | |
c9d4aabe VAH |
86 | } |
87 | } | |
88 | //belt insert | |
89 | translate([-8.5 + 45 / 2, 0, 0]) mirror([1, 0, 0]) { | |
90 | belt(carriage_l, 5); | |
91 | %belt(carriage_l); | |
9d36b130 | 92 | } |
9d36b130 NZ |
93 | } |
94 | } | |
95 | } | |
96 | ||
88f30890 | 97 | x_carriage(); |