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 | |
37 | translate([0, -1, 0]) cube_fillet([xaxis_rod_distance + 8, 6, carriage_l], radius=2); | |
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 VAH |
43 | //fill the space where the belt is, as it will be substracted at later point and we want it stiff here. |
44 | translate([-13, -10, 0]) cube([8, 10, carriage_l]); | |
c9d4aabe VAH |
45 | //belt smooth side |
46 | translate([-13.5 - belt_thickness, -8.5, 0]) cube_fillet([5, 15, carriage_l], vertical = [2, 2, 0, 0]); | |
47 | //belt teethed side, with cutouts for belt ends. | |
88f30890 | 48 | difference(){ |
c9d4aabe VAH |
49 | translate([-3, -1, carriage_l/2]) cube_fillet([11, 16, carriage_l], vertical = [2, 2, 0, 0], center = true); |
50 | translate([-3.5, 0, 70]) cube([13, 10, 8], center = true); | |
51 | translate([-3.5, 0, 43]) cube([13, 10, 8], center = true); | |
52 | translate([-3.5, 0, 18]) cube([13, 10, 8], center = true); | |
88f30890 VAH |
53 | } |
54 | ||
55 | } | |
56 | } | |
c9d4aabe VAH |
57 | //Ensure upper bearing can be inserted cleanly |
58 | rotate([0,0,90]) { | |
ad345632 | 59 | linear_negative(bushing_carriage); |
f88c1104 | 60 | } |
c9d4aabe VAH |
61 | //Same for lower bearing |
62 | translate([xaxis_rod_distance,0,0]) rotate([0, 0, 90]) { | |
f88c1104 VAH |
63 | linear_negative(bushing_xy, carriage_l); |
64 | } | |
5ea6ab38 | 65 | // extruder mounts |
c9d4aabe VAH |
66 | translate([20, -2, carriage_hole_to_side]) { |
67 | rotate([90, 0, 0]) cylinder(r=1.8, h=32, center=true); | |
68 | translate([0, 9, 0]) rotate([90, 60, 0]) cylinder(r=3.4, h=5, $fn=6, center=true); | |
88f30890 | 69 | } |
c9d4aabe VAH |
70 | translate([20, -2, carriage_hole_to_side + 30]) { |
71 | rotate([90, 0, 0]) cylinder(r=1.8, h=32, center=true); | |
64520b63 | 72 | translate([0,9,0]) rotate([90,60,0]) cylinder(r=3.4, h=5, $fn=6, center=true); |
2159eed1 | 73 | } |
c9d4aabe VAH |
74 | if (carriage_l >= 50 + 2 * carriage_hole_to_side) { |
75 | translate([20, -2, carriage_hole_to_side + 30 + 20]) { | |
76 | rotate([90,0,0]) cylinder(r=1.8, h=32, center=true); | |
77 | translate([0,9,0]) rotate([90,60,0]) cylinder(r=3.4, h=5, $fn=6, center=true); | |
78 | } | |
eb7e175e | 79 | } |
c9d4aabe VAH |
80 | if (carriage_l >= 80 + 2 * carriage_hole_to_side) { |
81 | translate([20,-2,carriage_hole_to_side+30+20+30]) { | |
82 | rotate([90,0,0]) cylinder(r=1.8, h=22, center=true); | |
83 | translate([0,9,0]) rotate([90,60,0]) cylinder(r=3.4, h=5, $fn=6, center=true); | |
84 | } | |
85 | } | |
86 | //belt insert | |
87 | translate([-8.5 + 45 / 2, 0, 0]) mirror([1, 0, 0]) { | |
88 | belt(carriage_l, 5); | |
89 | %belt(carriage_l); | |
9d36b130 | 90 | } |
9d36b130 NZ |
91 | } |
92 | } | |
93 | } | |
94 | ||
88f30890 | 95 | x_carriage(); |