author | Michael Krelin <hacker@klever.net> | 2016-07-15 19:31:16 (UTC) |
---|---|---|
committer | Michael Krelin <hacker@klever.net> | 2016-07-15 19:31:16 (UTC) |
commit | 4fbbce6f2e884d2d10790c315539b4cc84c20bd5 (patch) (unidiff) | |
tree | cc6355524f382370c1421be704ff5b34e47fc373 | |
parent | 1e0d2c9ece5e3a67917e53f6324c1b9c59f947e4 (diff) | |
download | carriagery-4fbbce6f2e884d2d10790c315539b4cc84c20bd5.zip carriagery-4fbbce6f2e884d2d10790c315539b4cc84c20bd5.tar.gz carriagery-4fbbce6f2e884d2d10790c315539b4cc84c20bd5.tar.bz2 |
widened belt opening
-rw-r--r-- | x-carriage.scad | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/x-carriage.scad b/x-carriage.scad index 8a9f0d9..c2552d2 100644 --- a/x-carriage.scad +++ b/x-carriage.scad | |||
@@ -8,32 +8,33 @@ bearings_m = 2.5; // thickness of the bearing end holder | |||
8 | bearings_s = 2.5;// the minimum shell between bearings and carriage front | 8 | bearings_s = 2.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 + slide_tolerance; | 21 | belt_width = 6 + slide_tolerance; |
22 | belts_apart = 12; | 22 | belts_apart = 12; |
23 | belt_pitch = 2; | 23 | belt_pitch = 2; |
24 | beltholder_chamfer = 1; | ||
24 | 25 | ||
25 | tiehole_id = bearings_d+3; | 26 | tiehole_id = bearings_d+3; |
26 | tiehole_od = bearings_d+10; | 27 | tiehole_od = bearings_d+10; |
27 | tiehole_w = 4; | 28 | tiehole_w = 4; |
28 | 29 | ||
29 | screw_d = 3; | 30 | screw_d = 3; |
30 | screwhead_d = 5.5; | 31 | screwhead_d = 5.5; |
31 | screwhead_h = 3; | 32 | screwhead_h = 3; |
32 | 33 | ||
33 | module belt(pitch=belt_pitch,width=belt_width,thickness=belt_thickness,tooth=belt_tooth,l=100,tolerance=0) { | 34 | 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]) | 35 | translate([-l/2,-width/2,-thickness]) |
35 | intersection() { | 36 | intersection() { |
36 | union() { | 37 | union() { |
37 | cube(size=[l,width,thickness+tolerance]); | 38 | cube(size=[l,width,thickness+tolerance]); |
38 | for(x=[0:pitch:l/2]) for(s=[-1,1]) | 39 | for(x=[0:pitch:l/2]) for(s=[-1,1]) |
39 | translate([l/2+s*x,0,thickness]) | 40 | translate([l/2+s*x,0,thickness]) |
@@ -80,23 +81,27 @@ module xcarriage() { | |||
80 | translate([cw/2,0,belts_apart/2]) mirror([0,0,1]) belt(width=belt_width+2,l=cw/2+2,tolerance=fit_tolerance); | 81 | translate([cw/2,0,belts_apart/2]) mirror([0,0,1]) belt(width=belt_width+2,l=cw/2+2,tolerance=fit_tolerance); |
81 | } | 82 | } |
82 | bgap = belt_thickness+belt_tooth+fit_tolerance; | 83 | bgap = belt_thickness+belt_tooth+fit_tolerance; |
83 | r1 = (belts_apart/3-bgap)/2; | 84 | r1 = (belts_apart/3-bgap)/2; |
84 | hull() for(x=[mounting_holes_apart/2,x1]) | 85 | hull() for(x=[mounting_holes_apart/2,x1]) |
85 | translate([x,0,-r1-bgap]) | 86 | translate([x,0,-r1-bgap]) |
86 | rotate([90,0,0]) cylinder(r=r1,h=belt_width+2,center=true,$fn=30); | 87 | rotate([90,0,0]) cylinder(r=r1,h=belt_width+2,center=true,$fn=30); |
87 | } | 88 | } |
88 | } // difference | 89 | } // difference |
89 | 90 | ||
90 | translate([0,0,30/*heatsink height*//2]) | 91 | translate([0,0,30/*heatsink height*//2]) |
91 | for(mhft = mounting_holes_from_top) translate([mhft[0],0,-mhft[1]]) { | 92 | for(mhft = mounting_holes_from_top) translate([mhft[0],0,-mhft[1]]) { |
92 | rotate([90,0,0]) cylinder(d=screw_d+2*play_tolerance,h=bearings_d+2*bearings_s+2,center=true,$fn=30); | 93 | rotate([90,0,0]) cylinder(d=screw_d+2*play_tolerance,h=bearings_d+2*bearings_s+2,center=true,$fn=30); |
93 | translate([0,belt_width/2+screwhead_h+play_tolerance,0]) | 94 | translate([0,belt_width/2+screwhead_h+play_tolerance,0]) |
94 | rotate([90,0,0]) cylinder(d=screwhead_d+2*play_tolerance,h=screwhead_h+play_tolerance+1,$fn=30); | 95 | rotate([90,0,0]) cylinder(d=screwhead_d+2*play_tolerance,h=screwhead_h+play_tolerance+1,$fn=30); |
95 | } | 96 | } |
97 | ccs = (belt_thickness+2*beltholder_chamfer)/sqrt(2); | ||
98 | translate([0,-belt_width/2,belts_apart/2+belt_thickness/2-fit_tolerance/2]) | ||
99 | rotate([45,0,0]) cube(size=[cw+2,ccs,ccs],center=true); | ||
100 | |||
96 | } // difference | 101 | } // difference |
97 | } | 102 | } |
98 | 103 | ||
99 | print=false; | 104 | print=false; |
100 | if(print) rotate([-90,0,0]) xcarriage(); | 105 | if(print) rotate([-90,0,0]) xcarriage(); |
101 | else xcarriage(); | 106 | else xcarriage(); |
102 | 107 | ||