Revert "Revert "Add top level readme, rename single_plate""
[clinton/prusa3.git] / old_single_plate / src / x-carriage.scad
CommitLineData
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 8include <../configuration.scad>
82b3b442 9use <inc/bearing.scad>
abcf6c93 10
11module 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
25module 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 40module 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 52module 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 64module 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 73x_carriage();