-rw-r--r-- | x-carriage.scad | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/x-carriage.scad b/x-carriage.scad index 47ba499..3c2ee2f 100644 --- a/x-carriage.scad +++ b/x-carriage.scad | |||
@@ -49,33 +49,36 @@ module belt(pitch=belt_pitch,width=belt_width,thickness=belt_thickness,tooth=bel | |||
49 | module xcarriage() { | 49 | module xcarriage() { |
50 | cw = bearings_l+2*bearings_m;// carriage width | 50 | cw = bearings_l+2*bearings_m;// carriage width |
51 | % for(mz=[0,1]) mirror([0,0,mz]) translate([0,0,-belts_apart/2]) belt(l=cw+2); | 51 | % for(mz=[0,1]) mirror([0,0,mz]) translate([0,0,-belts_apart/2]) belt(l=cw+2); |
52 | difference() { | 52 | difference() { |
53 | translate([-cw/2,-belt_width/2,-(rods_apart+bearings_d+bearings_m)/2]) | 53 | translate([-cw/2,-belt_width/2,-(rods_apart+bearings_d+bearings_m)/2]) |
54 | cube(size=[cw,bearings_d/2+bearings_s+belt_width/2,rods_apart+bearings_d+bearings_m]); | 54 | cube(size=[cw,bearings_d/2+bearings_s+belt_width/2,rods_apart+bearings_d+bearings_m]); |
55 | 55 | ||
56 | for(sz=[-1,1]) translate([0,0,sz*rods_apart/2]) { | 56 | for(sz=[-1,1]) translate([0,0,sz*rods_apart/2]) { |
57 | rotate([0,90,0]) | 57 | rotate([0,90,0]) |
58 | cylinder(d=bearings_d,h=bearings_l,center=true,$fn=60); | 58 | cylinder(d=bearings_d,h=bearings_l,center=true,$fn=60); |
59 | translate([0,-bearings_d/2,0]) | 59 | translate([0,-bearings_d/2,0]) |
60 | cube(size=[bearings_l,bearings_d,bearings_d],center=true); | 60 | cube(size=[bearings_l,bearings_d,bearings_d],center=true); |
61 | for(sx=[-1,1]) translate([sx*bearings_l/4,0,0]) | ||
62 | rotate([0,90,0]) cylinder(d=bearings_d-bearings_m,h=cw+2,center=true,$fn=60); | 61 | rotate([0,90,0]) cylinder(d=bearings_d-bearings_m,h=cw+2,center=true,$fn=60); |
63 | translate([-cw/2-1,-belt_width,-(bearings_d-bearings_m)/2]) | 62 | translate([-cw/2-1,-belt_width,-(bearings_d-bearings_m)/2]) |
64 | cube(size=[cw+2,belt_width,bearings_d-bearings_m]); | 63 | cube(size=[cw+2,belt_width,bearings_d-bearings_m]); |
64 | for(sx=[-1,1]) translate([sx*bearings_l/4,0,0]) { | ||
65 | rotate([0,90,0]) difference() { | 65 | rotate([0,90,0]) difference() { |
66 | cylinder(d=tiehole_od,h=tiehole_w,center=true,$fn=60); | 66 | cylinder(d=tiehole_od,h=tiehole_w,center=true,$fn=60); |
67 | cylinder(d=tiehole_id,h=tiehole_w+2,center=true,$fn=60); | 67 | cylinder(d=tiehole_id,h=tiehole_w+2,center=true,$fn=60); |
68 | } | 68 | } |
69 | } | 69 | translate([0,-tiehole_od/2,0]) |
70 | cube(size=[tiehole_w,tiehole_od,tiehole_od],center=true); | ||
71 | } // translate for(sx) | ||
72 | } // for(sz) | ||
70 | 73 | ||
71 | difference() { | 74 | difference() { |
72 | gap=belts_apart/6; | 75 | gap=belts_apart/6; |
73 | translate([0,-.5,-gap/2]) | 76 | translate([0,-.5,-gap/2]) |
74 | cube(size=[cw+2,belt_width+2,belts_apart+2*belt_thickness+gap],center=true); | 77 | cube(size=[cw+2,belt_width+2,belts_apart+2*belt_thickness+gap],center=true); |
75 | for(mx=[0,1]) mirror([mx,0,0]) { | 78 | for(mx=[0,1]) mirror([mx,0,0]) { |
76 | ofc = mounting_holes_apart/2+screwhead_d/2+belt_thickness+belt_tooth+play_tolerance; // offset from center | 79 | ofc = mounting_holes_apart/2+screwhead_d/2+belt_thickness+belt_tooth+play_tolerance; // offset from center |
77 | r=1; | 80 | r=1; |
78 | x0 = ofc+r; x1=cw/2-r; | 81 | x0 = ofc+r; x1=cw/2-r; |
79 | z0 = r; z1 = belts_apart/2-belt_thickness; | 82 | z0 = r; z1 = belts_apart/2-belt_thickness; |
80 | difference() { | 83 | difference() { |
81 | hull() for(x=[x0,x1]) for(z=[z0,z1]) | 84 | hull() for(x=[x0,x1]) for(z=[z0,z1]) |