Commit | Line | Data |
---|---|---|
2159eed1 VAH |
1 | // PRUSA iteration3 |
2 | // X carriage | |
3 | // GNU GPL v3 | |
e6b2166c | 4 | // Josef Průša <iam@josefprusa.cz> and contributors |
2159eed1 | 5 | // http://www.reprap.org/wiki/Prusa_Mendel |
e6b2166c | 6 | // http://prusamendel.org |
2159eed1 | 7 | |
826ab194 | 8 | include <../configuration.scad> |
82b3b442 | 9 | use <inc/bearing.scad> |
abcf6c93 | 10 | |
11 | module x_carriage_base(){ | |
e6b2166c | 12 | // Small bearing holder |
69ecad60 JG |
13 | translate([-33/2,+2,0]) rotate([0,0,90]) horizontal_bearing_base(1); |
14 | hull(){ | |
15 | // Long bearing holder | |
16 | translate([-33/2,x_rod_distance+2,0]) rotate([0,0,90]) horizontal_bearing_base(2); | |
17 | // Belt holder base | |
18 | translate([-36,20,0]) cube([39,16,17]); | |
19 | } | |
20 | // Base plate | |
21 | translate([-38,-11.5,0]) cube([39+4,68,7+1.5]); | |
22 | ||
abcf6c93 | 23 | } |
24 | ||
25 | module x_carriage_beltcut(){ | |
e6b2166c | 26 | // Cut in the middle for belt |
27 | translate([-2.5-16.5+1,19,7]) cube([4.5,13,15]); | |
28 | // Cut clearing space for the belt | |
69ecad60 | 29 | translate([-39,5,7]) cube([50,13,15]); |
e6b2166c | 30 | // Belt slit |
69ecad60 | 31 | translate([-50,21.5+10,6]) cube([67,1,15]); |
e6b2166c | 32 | // Smooth entrance |
69ecad60 | 33 | translate([-56,21.5+10,14]) rotate([45,0,0]) cube([67,15,15]); |
e6b2166c | 34 | // Teeth cuts |
69ecad60 JG |
35 | for ( i = [0 : 33] ){ |
36 | translate([25-i*belt_tooth_distance,21.5+8,6+1.5]) cube([1.7,3,15]); | |
e6b2166c | 37 | } |
abcf6c93 | 38 | } |
39 | ||
e6b2166c | 40 | module x_carriage_holes(){ |
41 | // Small bearing holder holes cutter | |
69ecad60 | 42 | translate([-33/2,2,0]) rotate([0,0,90]) horizontal_bearing_holes(1); |
e6b2166c | 43 | // Long bearing holder holes cutter |
69ecad60 | 44 | translate([-33/2,x_rod_distance+2,0]) rotate([0,0,90]) horizontal_bearing_holes(2); |
e6b2166c | 45 | // Extruder mounting holes |
69ecad60 JG |
46 | translate([-16.5+15,24,-1])cylinder(r=1.7, h=20, $fn=32); |
47 | translate([-16.5+15,24,10])cylinder(r=3.3, h=20, $fn=6); | |
48 | translate([-16.5-15,24,-1])cylinder(r=1.7, h=20, $fn=32); | |
49 | translate([-16.5-15,24,10])cylinder(r=3.3, h=20, $fn=6); | |
e6b2166c | 50 | } |
2159eed1 | 51 | |
e6b2166c | 52 | module x_carriage_fancy(){ |
53 | // Top right corner | |
54 | translate([13.5,-5,0]) translate([0,45+11.5,-1]) rotate([0,0,45]) translate([0,-15,0]) cube([30,30,20]); | |
55 | // Bottom right corner | |
56 | translate([0,5,0]) translate([0,-11.5,-1]) rotate([0,0,-45]) translate([0,-15,0]) cube([30,30,20]); | |
57 | // Bottom ĺeft corner | |
58 | translate([-33,5,0]) translate([0,-11.5,-1]) rotate([0,0,-135]) translate([0,-15,0]) cube([30,30,20]); | |
59 | // Top left corner | |
60 | translate([-33-13.5,-5,0]) translate([0,45+11.5,-1]) rotate([0,0,135]) translate([0,-15,0]) cube([30,30,20]); | |
61 | } | |
d3618a65 | 62 | |
e6b2166c | 63 | // Final part |
88f30890 | 64 | module x_carriage(){ |
e6b2166c | 65 | difference(){ |
66 | x_carriage_base(); | |
67 | x_carriage_beltcut(); | |
68 | x_carriage_holes(); | |
69 | x_carriage_fancy(); | |
70 | } | |
3ade0448 | 71 | } |
88f30890 | 72 | |
69ecad60 | 73 | x_carriage(); |