summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--x-carriage.scad2
1 files changed, 1 insertions, 1 deletions
diff --git a/x-carriage.scad b/x-carriage.scad
index 1128e64..9d0881e 100644
--- a/x-carriage.scad
+++ b/x-carriage.scad
@@ -1,69 +1,69 @@
1slide_tolerance = .3; 1slide_tolerance = .3;
2play_tolerance=.4; 2play_tolerance=.4;
3fit_tolerance = .2; 3fit_tolerance = .2;
4 4
5 bearings_l = 25;// 15; 5 bearings_l = 25;// 15;
6 bearings_d = 15;// 12; 6 bearings_d = 15;// 12;
7 bearings_m = 2.5;// thickness of the bearing end holder 7 bearings_m = 2.5;// thickness of the bearing end holder
8 bearings_s = 4.5;// the minimum shell between bearings and carriage front 8 bearings_s = 4.5;// the minimum shell between bearings and carriage front
9 9
10rods_apart = 45; 10rods_apart = 45;
11rod_d = 8; 11rod_d = 8;
12 12
13 mounting_holes_from_top = [// the offsets of mounting holes on the back 13 mounting_holes_from_top = [// the offsets of mounting holes on the back
14 [0, 20], [-4.5,10], [4.5,10] 14 [0, 20], [-4.5,10], [4.5,10]
15]; 15];
16mounting_holes_apart = mounting_holes_from_top[2][0]-mounting_holes_from_top[1][0]; 16mounting_holes_apart = mounting_holes_from_top[2][0]-mounting_holes_from_top[1][0];
17 17
18belt_tooth=0.70; 18belt_tooth=0.70;
19belt_thickness=0.75; 19belt_thickness=0.75;
20belts_thickness = belt_thickness*2+belt_tooth+0.5; 20belts_thickness = belt_thickness*2+belt_tooth+0.5;
21belt_width = 6; 21belt_width = 6 + slide_tolerance;
22belts_apart = 12; 22belts_apart = 12;
23belt_pitch = 2; 23belt_pitch = 2;
24 24
25tiehole_id = bearings_d+3; 25tiehole_id = bearings_d+3;
26tiehole_od = bearings_d+10; 26tiehole_od = bearings_d+10;
27tiehole_w = 4; 27tiehole_w = 4;
28 28
29screw_d = 3; 29screw_d = 3;
30screwhead_d = 5.5; 30screwhead_d = 5.5;
31screwhead_h = 3; 31screwhead_h = 3;
32 32
33module belt(pitch=belt_pitch,width=belt_width,thickness=belt_thickness,tooth=belt_tooth,l=100,tolerance=0) { 33module belt(pitch=belt_pitch,width=belt_width,thickness=belt_thickness,tooth=belt_tooth,l=100,tolerance=0) {
34 translate([-l/2,-width/2,-thickness]) 34 translate([-l/2,-width/2,-thickness])
35 intersection() { 35 intersection() {
36 union() { 36 union() {
37 cube(size=[l,width,thickness+tolerance]); 37 cube(size=[l,width,thickness+tolerance]);
38 for(x=[0:pitch:l/2]) for(s=[-1,1]) 38 for(x=[0:pitch:l/2]) for(s=[-1,1])
39 translate([l/2+s*x,0,thickness]) 39 translate([l/2+s*x,0,thickness])
40 rotate([-90,0,0]) 40 rotate([-90,0,0])
41 cylinder(r=tooth+tolerance,h=width,$fn=6); 41 cylinder(r=tooth+tolerance,h=width,$fn=6);
42 } 42 }
43 translate([0,-1,0]) 43 translate([0,-1,0])
44 cube(size=[l,width+2,thickness+tooth+1]); 44 cube(size=[l,width+2,thickness+tooth+1]);
45 } 45 }
46} 46}
47 47
48module xcarriage() { 48module xcarriage() {
49 cw = bearings_l+2*bearings_m;// carriage width 49 cw = bearings_l+2*bearings_m;// carriage width
50 % for(mz=[0,1]) mirror([0,0,mz]) translate([0,0,-belts_apart/2]) belt(); 50 % for(mz=[0,1]) mirror([0,0,mz]) translate([0,0,-belts_apart/2]) belt();
51 difference() { 51 difference() {
52 translate([-cw/2,-belt_width/2,-(rods_apart+bearings_d+bearings_m)/2]) 52 translate([-cw/2,-belt_width/2,-(rods_apart+bearings_d+bearings_m)/2])
53 cube(size=[cw,bearings_d/2+bearings_s+belt_width/2,rods_apart+bearings_d+bearings_m]); 53 cube(size=[cw,bearings_d/2+bearings_s+belt_width/2,rods_apart+bearings_d+bearings_m]);
54 54
55 for(sz=[-1,1]) translate([0,0,sz*rods_apart/2]) { 55 for(sz=[-1,1]) translate([0,0,sz*rods_apart/2]) {
56 rotate([0,90,0]) 56 rotate([0,90,0])
57 cylinder(d=bearings_d,bearings_l,center=true,$fn=60); 57 cylinder(d=bearings_d,bearings_l,center=true,$fn=60);
58 for(sx=[-1,1]) translate([sx*bearings_l/4,0,0]) 58 for(sx=[-1,1]) translate([sx*bearings_l/4,0,0])
59 rotate([0,90,0]) difference() { 59 rotate([0,90,0]) difference() {
60 cylinder(d=tiehole_od,h=tiehole_w,center=true,$fn=60); 60 cylinder(d=tiehole_od,h=tiehole_w,center=true,$fn=60);
61 cylinder(d=tiehole_id,h=tiehole_w+2,center=true,$fn=60); 61 cylinder(d=tiehole_id,h=tiehole_w+2,center=true,$fn=60);
62 } 62 }
63 rotate([0,90,0]) cylinder(d=bearings_d-bearings_m,h=cw+2,center=true,$fn=60); 63 rotate([0,90,0]) cylinder(d=bearings_d-bearings_m,h=cw+2,center=true,$fn=60);
64 translate([-cw/2-1,-belt_width,-(bearings_d-bearings_m)/2]) cube(size=[cw+2,belt_width,bearings_d-bearings_m]); 64 translate([-cw/2-1,-belt_width,-(bearings_d-bearings_m)/2]) cube(size=[cw+2,belt_width,bearings_d-bearings_m]);
65 } 65 }
66 66
67 difference() { 67 difference() {
68 gap=belts_apart/6; 68 gap=belts_apart/6;
69 translate([0,-.5,-gap/2]) 69 translate([0,-.5,-gap/2])