author | Michael Krelin <hacker@klever.net> | 2016-07-15 19:09:58 (UTC) |
---|---|---|
committer | Michael Krelin <hacker@klever.net> | 2016-07-15 19:09:58 (UTC) |
commit | 2959322eef5859ced369a9f64eaa9b50a2243e4f (patch) (side-by-side diff) | |
tree | 5d9c3c28cc98bff8a8cece9a9d7fdff426e035ec /x-carriage.scad | |
parent | 8317f2ceb47e4906e3c6934ec6dd174023f7d361 (diff) | |
download | carriagery-2959322eef5859ced369a9f64eaa9b50a2243e4f.zip carriagery-2959322eef5859ced369a9f64eaa9b50a2243e4f.tar.gz carriagery-2959322eef5859ced369a9f64eaa9b50a2243e4f.tar.bz2 |
things aren't called randomly, they have their proper names
-rw-r--r-- | x-carriage.scad | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/x-carriage.scad b/x-carriage.scad index 1a6c932..8c10e14 100644 --- a/x-carriage.scad +++ b/x-carriage.scad @@ -1,102 +1,102 @@ slide_tolerance = .3; play_tolerance=.4; fit_tolerance = .2; -bearings_l = 30; // LMUU8: 25 -bearings_d = 12; // LMUU8: 15 +bearings_l = 30; // LM8UU: 25 +bearings_d = 12; // LM8UU: 15 bearings_m = 2.5; // thickness of the bearing end holder bearings_s = 2.5; // the minimum shell between bearings and carriage front rods_apart = 45; rod_d = 8; mounting_holes_from_top = [ // the offsets of mounting holes on the back [0, 20], [-4.5,10], [4.5,10] ]; mounting_holes_apart = mounting_holes_from_top[2][0]-mounting_holes_from_top[1][0]; belt_tooth=0.70; belt_thickness=0.75; belts_thickness = belt_thickness*2+belt_tooth+0.5; belt_width = 6 + slide_tolerance; belts_apart = 12; belt_pitch = 2; tiehole_id = bearings_d+3; tiehole_od = bearings_d+10; tiehole_w = 4; screw_d = 3; screwhead_d = 5.5; screwhead_h = 3; module belt(pitch=belt_pitch,width=belt_width,thickness=belt_thickness,tooth=belt_tooth,l=100,tolerance=0) { translate([-l/2,-width/2,-thickness]) intersection() { union() { cube(size=[l,width,thickness+tolerance]); for(x=[0:pitch:l/2]) for(s=[-1,1]) translate([l/2+s*x,0,thickness]) rotate([-90,0,0]) cylinder(r=tooth+tolerance,h=width,$fn=6); } translate([0,-1,0]) cube(size=[l,width+2,thickness+tooth+1]); } } module xcarriage() { cw = bearings_l+2*bearings_m; // carriage width % for(mz=[0,1]) mirror([0,0,mz]) translate([0,0,-belts_apart/2]) belt(); difference() { translate([-cw/2,-belt_width/2,-(rods_apart+bearings_d+bearings_m)/2]) cube(size=[cw,bearings_d/2+bearings_s+belt_width/2,rods_apart+bearings_d+bearings_m]); for(sz=[-1,1]) translate([0,0,sz*rods_apart/2]) { rotate([0,90,0]) cylinder(d=bearings_d,bearings_l,center=true,$fn=60); for(sx=[-1,1]) translate([sx*bearings_l/4,0,0]) rotate([0,90,0]) difference() { cylinder(d=tiehole_od,h=tiehole_w,center=true,$fn=60); cylinder(d=tiehole_id,h=tiehole_w+2,center=true,$fn=60); } rotate([0,90,0]) cylinder(d=bearings_d-bearings_m,h=cw+2,center=true,$fn=60); translate([-cw/2-1,-belt_width,-(bearings_d-bearings_m)/2]) cube(size=[cw+2,belt_width,bearings_d-bearings_m]); } difference() { gap=belts_apart/6; translate([0,-.5,-gap/2]) cube(size=[cw+2,belt_width+2,belts_apart+2*belt_thickness+gap],center=true); for(mx=[0,1]) mirror([mx,0,0]) { ofc = mounting_holes_apart/2+screwhead_d/2+belt_thickness+belt_tooth+play_tolerance; // offset from center r=1; x0 = ofc+r; x1=cw/2-r; z0 = r; z1 = belts_apart/2-belt_thickness; difference() { hull() for(x=[x0,x1]) for(z=[z0,z1]) translate([x,0,z]) rotate([90,0,0]) cylinder(r=r,h=belt_width+2,center=true,$fn=30); translate([cw/2,0,belts_apart/2]) mirror([0,0,1]) belt(width=belt_width+2,l=cw/2+2,tolerance=fit_tolerance); } bgap = belt_thickness+belt_tooth+fit_tolerance; r1 = (belts_apart/3-bgap)/2; hull() for(x=[mounting_holes_apart/2,x1]) translate([x,0,-r1-bgap]) rotate([90,0,0]) cylinder(r=r1,h=belt_width+2,center=true,$fn=30); /* pd = 4.5; // post diameter bhd = 5; // belt holder diameter translate([cw/2-pd/2,0,belts_apart/2-belts_thickness-bhd/2]) cube(size=[pd,belt_width,bhd],center=true); translate([(cw-pd)/2,0,0]) // TODO: z rotate([-90,0,0]) translate([0,0,-1]) cylinder(d=pd,h=belt_width+2,center=true,$fn=30); */ } } // difference translate([0,0,30/*heatsink height*//2]) for(mhft = mounting_holes_from_top) translate([mhft[0],0,-mhft[1]]) { rotate([90,0,0]) cylinder(d=screw_d+2*play_tolerance,h=bearings_d+2*bearings_s+2,center=true,$fn=30); translate([0,belt_width/2+screwhead_h+play_tolerance,0]) rotate([90,0,0]) cylinder(d=screwhead_d+2*play_tolerance,h=screwhead_h+play_tolerance+1,$fn=30); } } // difference |