-rw-r--r-- | x-carriage.scad | 2 |
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 @@ | |||
1 | slide_tolerance = .3; | 1 | slide_tolerance = .3; |
2 | play_tolerance=.4; | 2 | play_tolerance=.4; |
3 | fit_tolerance = .2; | 3 | fit_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 | ||
10 | rods_apart = 45; | 10 | rods_apart = 45; |
11 | rod_d = 8; | 11 | rod_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 | ]; |
16 | mounting_holes_apart = mounting_holes_from_top[2][0]-mounting_holes_from_top[1][0]; | 16 | mounting_holes_apart = mounting_holes_from_top[2][0]-mounting_holes_from_top[1][0]; |
17 | 17 | ||
18 | belt_tooth=0.70; | 18 | belt_tooth=0.70; |
19 | belt_thickness=0.75; | 19 | belt_thickness=0.75; |
20 | belts_thickness = belt_thickness*2+belt_tooth+0.5; | 20 | belts_thickness = belt_thickness*2+belt_tooth+0.5; |
21 | belt_width = 6; | 21 | belt_width = 6 + slide_tolerance; |
22 | belts_apart = 12; | 22 | belts_apart = 12; |
23 | belt_pitch = 2; | 23 | belt_pitch = 2; |
24 | 24 | ||
25 | tiehole_id = bearings_d+3; | 25 | tiehole_id = bearings_d+3; |
26 | tiehole_od = bearings_d+10; | 26 | tiehole_od = bearings_d+10; |
27 | tiehole_w = 4; | 27 | tiehole_w = 4; |
28 | 28 | ||
29 | screw_d = 3; | 29 | screw_d = 3; |
30 | screwhead_d = 5.5; | 30 | screwhead_d = 5.5; |
31 | screwhead_h = 3; | 31 | screwhead_h = 3; |
32 | 32 | ||
33 | module belt(pitch=belt_pitch,width=belt_width,thickness=belt_thickness,tooth=belt_tooth,l=100,tolerance=0) { | 33 | module 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 | ||
48 | module xcarriage() { | 48 | module 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]) |