author | Michael Krelin <hacker@klever.net> | 2016-07-15 19:03:54 (UTC) |
---|---|---|
committer | Michael Krelin <hacker@klever.net> | 2016-07-15 19:03:54 (UTC) |
commit | d57349deec034888a478ff506c31748b90369621 (patch) (unidiff) | |
tree | 095cd59a8bb7c420412b64f5cf111f2bec6ca0a4 | |
parent | 4ef36244360ff4c3a4c8185edbe1e9dc5ab3bc43 (diff) | |
download | carriagery-d57349deec034888a478ff506c31748b90369621.zip carriagery-d57349deec034888a478ff506c31748b90369621.tar.gz carriagery-d57349deec034888a478ff506c31748b90369621.tar.bz2 |
compute gap for the free belt side
-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 26e54f6..ac963d5 100644 --- a/x-carriage.scad +++ b/x-carriage.scad | |||
@@ -43,49 +43,49 @@ module belt(pitch=belt_pitch,width=belt_width,thickness=belt_thickness,tooth=bel | |||
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/2-bearings_d/2]) | 52 | translate([-cw/2,-belt_width/2,-rods_apart/2-bearings_d/2]) |
53 | cube(size=[cw,bearings_d/2+bearings_s+belt_width/2,rods_apart+bearings_d]); | 53 | cube(size=[cw,bearings_d/2+bearings_s+belt_width/2,rods_apart+bearings_d]); |
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 | } | 64 | } |
65 | 65 | ||
66 | difference() { | 66 | difference() { |
67 | gap=3; | 67 | gap=belts_apart/6; |
68 | translate([0,-.5,-gap/2]) | 68 | translate([0,-.5,-gap/2]) |
69 | cube(size=[cw+2,belt_width+2,belts_apart+2*belt_thickness+gap],center=true); | 69 | cube(size=[cw+2,belt_width+2,belts_apart+2*belt_thickness+gap],center=true); |
70 | for(mx=[0,1]) mirror([mx,0,0]) { | 70 | for(mx=[0,1]) mirror([mx,0,0]) { |
71 | ofc = mounting_holes_apart/2+screwhead_d/2+belt_thickness+belt_tooth+play_tolerance; // offset from center | 71 | ofc = mounting_holes_apart/2+screwhead_d/2+belt_thickness+belt_tooth+play_tolerance; // offset from center |
72 | r=1; | 72 | r=1; |
73 | x0 = ofc+r; x1=cw/2-r; | 73 | x0 = ofc+r; x1=cw/2-r; |
74 | z0 = r; z1 = belts_apart/2-belt_thickness; | 74 | z0 = r; z1 = belts_apart/2-belt_thickness; |
75 | difference() { | 75 | difference() { |
76 | hull() for(x=[x0,x1]) for(z=[z0,z1]) | 76 | hull() for(x=[x0,x1]) for(z=[z0,z1]) |
77 | translate([x,0,z]) | 77 | translate([x,0,z]) |
78 | rotate([90,0,0]) cylinder(r=r,h=belt_width+2,center=true,$fn=30); | 78 | rotate([90,0,0]) cylinder(r=r,h=belt_width+2,center=true,$fn=30); |
79 | translate([cw/2,0,belts_apart/2]) mirror([0,0,1]) belt(width=belt_width+2,l=cw/2+2,tolerance=fit_tolerance); | 79 | translate([cw/2,0,belts_apart/2]) mirror([0,0,1]) belt(width=belt_width+2,l=cw/2+2,tolerance=fit_tolerance); |
80 | } | 80 | } |
81 | bgap = belt_thickness+belt_tooth+fit_tolerance; | 81 | bgap = belt_thickness+belt_tooth+fit_tolerance; |
82 | r1 = (belts_apart/3-bgap)/2; | 82 | r1 = (belts_apart/3-bgap)/2; |
83 | hull() for(x=[mounting_holes_apart/2,x1]) | 83 | hull() for(x=[mounting_holes_apart/2,x1]) |
84 | translate([x,0,-r1-bgap]) | 84 | translate([x,0,-r1-bgap]) |
85 | rotate([90,0,0]) cylinder(r=r1,h=belt_width+2,center=true,$fn=30); | 85 | rotate([90,0,0]) cylinder(r=r1,h=belt_width+2,center=true,$fn=30); |
86 | /* | 86 | /* |
87 | pd = 4.5;// post diameter | 87 | pd = 4.5;// post diameter |
88 | bhd = 5;// belt holder diameter | 88 | bhd = 5;// belt holder diameter |
89 | translate([cw/2-pd/2,0,belts_apart/2-belts_thickness-bhd/2]) cube(size=[pd,belt_width,bhd],center=true); | 89 | translate([cw/2-pd/2,0,belts_apart/2-belts_thickness-bhd/2]) cube(size=[pd,belt_width,bhd],center=true); |
90 | translate([(cw-pd)/2,0,0]) // TODO: z | 90 | translate([(cw-pd)/2,0,0]) // TODO: z |
91 | rotate([-90,0,0]) translate([0,0,-1]) cylinder(d=pd,h=belt_width+2,center=true,$fn=30); */ | 91 | rotate([-90,0,0]) translate([0,0,-1]) cylinder(d=pd,h=belt_width+2,center=true,$fn=30); */ |