From 65b08cd00cbbccced3f98a8ad2b06645181ed57f Mon Sep 17 00:00:00 2001 From: Christopher Olah Date: Sun, 13 Mar 2011 20:25:14 -0400 Subject: [PATCH] Rob's x-end-idler design. --- x-end-idler.scad | 131 +++++++++++++++-------------------------------- 1 file changed, 42 insertions(+), 89 deletions(-) diff --git a/x-end-idler.scad b/x-end-idler.scad index de03830..e6430e2 100644 --- a/x-end-idler.scad +++ b/x-end-idler.scad @@ -9,98 +9,51 @@ include include +include + +thickness = 15; +length = 50; +width = 47.5; + +bearing_inner_diameter = 7.5; + +difference() +{ + union() + { + cube([width, length, thickness], center=true); + //idler mount + translate([width/2,0]) + { + cube([20, 12.5, thickness], center=true); + + translate([20/2+10/2-1,0,-thickness/2+bearing_inner_diameter/2]) rotate([0,90]) + cylinder(r=bearing_inner_diameter/2,h=10, center=true); + } + } -wall_thickness = 4.5; - -translate(v = [0,35,24.5]) { - union() { - difference() { - union() { - translate(v = [-25, -40, -16.6]) - cube(size = [20,40,15.8], center = true); - translate(v = [25, -40, -16.6]) - cube(size = [20,40,15.8], center = true); - } - - //nut traps - translate(v = [-25, -29, -19.7]) - cylinder(h = 7, r=m3_nut_diameter/2, $fn=6, center=true); - translate(v = [-25, -29, -20]) - cylinder(h = 10, r=m3_diameter/2, $fn=9, center=true); - translate(v = [25, -29, -19.7]) - cylinder(h = 7, r=m3_nut_diameter/2, $fn=6, center=true); - translate(v = [25, -29, -20]) - cylinder(h = 10, r=m3_diameter/2, $fn=9, center=true); - - translate(v = [-25, -50, -19.7]) - cylinder(h = 7, r=m3_nut_diameter/2, $fn=6, center=true); - translate(v = [-25, -50, -20]) - cylinder(h = 10, r=m3_diameter/2, $fn=9, center=true); - translate(v = [25, -50, -19.7]) - cylinder(h = 7, r=m3_nut_diameter/2, $fn=6, center=true); - translate(v = [25, -50, -20]) - cylinder(h = 10, r=m3_diameter/2, $fn=9, center=true); + //holes for axis + x_axis_rods(); + for (x=[-1,1]) for(y=[-1,1]) translate([x*15,y*15,0]) ziptie_hole(thickness+1); + translate([0,0]) z_nut_and_bushing_hole(thickness+1); - //holes for axis - translate ([0,-75,-17]) rotate ([0,0,180]) x_axis_rods(); +} - } +module ziptie_hole(height) +{ + cube([5,10,height], center=true); +} - //slider - translate(v = [0, -25, 15]) - difference() { - union() { - translate(v = [0, -1.75-wall_thickness/2, -19.5]) - cube(size = [17+wall_thickness*2,13.5+wall_thickness,40], center = true); - translate(v = [0, -3.5, -31.65]) - cube(size = [35,17,15.8], center = true); - } - translate(v = [0, -0, -17]) - cube(size = [17,17,60], center = true); - } +nut_and_bushing_seperation = 20; - //nut trap - translate(v = [0, -55, 15]) { - difference() { - union() { - translate(v = [0, -0, -19.5]) - cylinder(h = 40, r=(m8_nut_diameter/2+wall_thickness), $fn=6, center=true); - translate(v = [0, 0, -31.65]) - cube(size = [35,10,15.8], center = true); - } - translate(v = [0, 0, 16]) - cylinder(h = 90, r=m8_nut_diameter/2, $fn=6, center=true); - translate(v = [0, 0, -78]) - cylinder(h = 90, r=m8_nut_diameter/2, $fn=6, center=true); - translate(v = [0, 0, 0]) - cylinder(h = 100, r=m8_diameter/2, $fn=9, center=true); - } - } +module z_nut_and_bushing_hole(height=100) +{ + nut_radius = METRIC_NUT_AC_WIDTHS[8]/2+0.1; - //idler wheel connector - if (x_belt) { - mirror() { - translate(v = [0, -35, -12]) { - difference() { - translate(v = [35-wall_thickness/2, -5, 6]) - cube(size = [wall_thickness,10,10], center = true); - translate(v = [32.5, -6, 6.5]) - rotate(a=[0,90,0]) - cylinder(h = 90, r=m4_diameter/2, $fn=9, center=true); - } - } - } - }else { - translate([-65,0,-12]) { - difference(){ - union(){ - translate([34, -29, 20]) cube([39,13,41], center = true); - translate([23, -29, -2.5]) cube([17,13,20], center = true); - } - translate([30,-24,25]) rotate([90,0,0]) cylinder(h = 20, r=12); - translate([30,-15,25]) rotate([90,0,0]) cylinder(h = 10, r=8); - } - } - } - } -} + translate([0,-nut_radius]) + cylinder(r=10, h=height, center=true); + for (i=[0,1,1.5]) translate([0,i*nut_radius]) + linear_extrude(height = height, center = true) + rotate(90) nutHole(size = 8, tolerance = +0.1, proj=1); + +} \ No newline at end of file