3 // Used to attach endstops to 8mm rods
8 // http://www.reprap.org/wiki/Prusa_Mendel
9 // http://github.com/prusajr/PrusaMendel
11 include <../configuration.scad>
14 * This endstop holder has 3 holes for endstops with either 10mm or 20mm spacing
16 * @name Endstop holder
22 module endstop(shaft_radius){
23 shaft_diameter=shaft_radius*2;
24 outer_diameter = shaft_diameter/2+3.3;
25 screw_hole_spacing = 20;
26 screw_hole_spacing2 = 10;
27 opening_size = m8_diameter-1.5; //openingsize
35 translate([outer_diameter, outer_diameter, 0]) cylinder(h =10, r = outer_diameter, $fn = segments);
36 translate([outer_diameter, 0, 0]) cube([15.5,outer_diameter*2,10]);
37 translate([-30, 0, 0]) cube([40, 4, 10]);
38 translate([17, 17.5, 5]) rotate([90, 0, 0]) cylinder(h =5, r = 5.77, $fn = 6);
44 translate([9, outer_diameter-opening_size/2, 0]) cube([18,opening_size,20]);
45 translate([outer_diameter, outer_diameter, 0]) cylinder(h =20, r = shaft_radius, $fn = segments);
48 translate([17, 17, 5]) rotate([90, 0, 0]) cylinder(h =20, r = m3_diameter/2, $fn = segments);
49 translate([17, 19.5, 5]) rotate([90, 0, 0]) cylinder(h =5, r = m3_nut_diameter_horizontal/2, $fn = 6);
51 translate([17, 17, 5]) rotate([90, 0, 0]) cylinder(h =20, r = m3_diameter/2, $fn = segments);
53 translate([-5, 17, 5]) rotate([90, 0, 0]) cylinder(h =20, r = m3_diameter/2, $fn = segments);
54 translate([-(5+screw_hole_spacing), 17, 5]) rotate([90, 0, 0]) cylinder(h =20, r = m3_diameter/2, $fn = segments);
55 translate([-(5+screw_hole_spacing2), 17, 5]) rotate([90, 0, 0]) cylinder(h =20, r = m3_diameter/2, $fn = segments);
60 endstop(bushing_xy[0]);
61 translate([0,20,0]) endstop(bushing_xy[0]);
62 translate([0,40,0]) endstop(bushing_z[0]);