From: Joachim Glauche Date: Tue, 7 May 2013 18:52:47 +0000 (+0200) Subject: made endstop holder parameteric and produce the correct ones according to smooth... X-Git-Url: http://git.hcoop.net/clinton/prusa3.git/commitdiff_plain/fc9f0caed20c71f4c47b69f2d8e165dc7202cd33 made endstop holder parameteric and produce the correct ones according to smooth rod size --- diff --git a/box_frame/extras/endstop-holder.scad b/box_frame/extras/endstop-holder.scad dissimilarity index 72% index 1f10821..7ff11c8 100644 --- a/box_frame/extras/endstop-holder.scad +++ b/box_frame/extras/endstop-holder.scad @@ -1,57 +1,63 @@ -// PRUSA Mendel -// Endstop holder -// Used to attach endstops to 8mm rods -// GNU GPL v3 -// Josef Průša -// josefprusa@me.com -// prusadjs.cz -// http://www.reprap.org/wiki/Prusa_Mendel -// http://github.com/prusajr/PrusaMendel - -include <../configuration.scad> - -/** - * This endstop holder has 3 holes for endstops with either 10mm or 20mm spacing - * @id endstop-holder - * @name Endstop holder - * @category Printed - * @using 1 m3x20xhex - * @using 1 m3nut - * @using 2 m3washer - */ -module endstop(){ -outer_diameter = m8_diameter/2+3.3; -screw_hole_spacing = 20; -screw_hole_spacing2 = 10; -opening_size = m8_diameter-1.5; //openingsize - -difference(){ - union(){ - - - translate([outer_diameter, outer_diameter, 0]) cylinder(h =10, r = outer_diameter, $fn = 20); - translate([outer_diameter, 0, 0]) cube([15.5,outer_diameter*2,10]); - translate([-30, 0, 0]) cube([40, 4, 10]); - translate([17, 17.5, 5]) rotate([90, 0, 0]) #cylinder(h =5, r = 5.77, $fn = 6); - } - - - - - translate([9, outer_diameter-opening_size/2, 0]) cube([18,opening_size,20]); - translate([outer_diameter, outer_diameter, 0]) cylinder(h =20, r = m8_diameter/2, $fn = 18); - - //Securing hole - translate([17, 17, 5]) rotate([90, 0, 0]) cylinder(h =20, r = m3_diameter/2, $fn = 10); - translate([17, 19.5, 5]) rotate([90, 0, 0]) #cylinder(h =5, r = m3_nut_diameter_horizontal/2, $fn = 6); - - translate([17, 17, 5]) rotate([90, 0, 0]) #cylinder(h =20, r = m3_diameter/2, $fn = 10); - // Endstop holders - translate([-5, 17, 5]) rotate([90, 0, 0]) cylinder(h =20, r = m3_diameter/2, $fn = 10); - translate([-(5+screw_hole_spacing), 17, 5]) rotate([90, 0, 0]) cylinder(h =20, r = m3_diameter/2, $fn = 10); - translate([-(5+screw_hole_spacing2), 17, 5]) rotate([90, 0, 0]) cylinder(h =20, r = m3_diameter/2, $fn = 10); - -} -} -endstop(); - +// PRUSA Mendel +// Endstop holder +// Used to attach endstops to 8mm rods +// GNU GPL v3 +// Josef Průša +// josefprusa@me.com +// prusadjs.cz +// http://www.reprap.org/wiki/Prusa_Mendel +// http://github.com/prusajr/PrusaMendel + +include <../configuration.scad> + +/** + * This endstop holder has 3 holes for endstops with either 10mm or 20mm spacing + * @id endstop-holder + * @name Endstop holder + * @category Printed + * @using 1 m3x20xhex + * @using 1 m3nut + * @using 2 m3washer + */ +module endstop(shaft_radius){ + shaft_diameter=shaft_radius*2; + outer_diameter = shaft_diameter/2+3.3; + screw_hole_spacing = 20; + screw_hole_spacing2 = 10; + opening_size = m8_diameter-1.5; //openingsize + + segments=64; + + difference(){ + union(){ + + + translate([outer_diameter, outer_diameter, 0]) cylinder(h =10, r = outer_diameter, $fn = segments); + translate([outer_diameter, 0, 0]) cube([15.5,outer_diameter*2,10]); + translate([-30, 0, 0]) cube([40, 4, 10]); + translate([17, 17.5, 5]) rotate([90, 0, 0]) cylinder(h =5, r = 5.77, $fn = 6); + } + + + + + translate([9, outer_diameter-opening_size/2, 0]) cube([18,opening_size,20]); + translate([outer_diameter, outer_diameter, 0]) cylinder(h =20, r = shaft_radius, $fn = segments); + + //Securing hole + translate([17, 17, 5]) rotate([90, 0, 0]) cylinder(h =20, r = m3_diameter/2, $fn = segments); + translate([17, 19.5, 5]) rotate([90, 0, 0]) cylinder(h =5, r = m3_nut_diameter_horizontal/2, $fn = 6); + + translate([17, 17, 5]) rotate([90, 0, 0]) cylinder(h =20, r = m3_diameter/2, $fn = segments); + // Endstop holders + translate([-5, 17, 5]) rotate([90, 0, 0]) cylinder(h =20, r = m3_diameter/2, $fn = segments); + translate([-(5+screw_hole_spacing), 17, 5]) rotate([90, 0, 0]) cylinder(h =20, r = m3_diameter/2, $fn = segments); + translate([-(5+screw_hole_spacing2), 17, 5]) rotate([90, 0, 0]) cylinder(h =20, r = m3_diameter/2, $fn = segments); + + } +} + +endstop(bushing_xy[0]); +translate([0,20,0]) endstop(bushing_xy[0]); +translate([0,40,0]) endstop(bushing_z[0]); +