Add endstop-holder-extra.scad for rotating endstops 90 degress on original endstop...
authorethan.sherman <ethan.sherman@mutualmobile.com>
Tue, 25 Feb 2014 16:50:50 +0000 (10:50 -0600)
committerethan.sherman <ethan.sherman@mutualmobile.com>
Tue, 25 Feb 2014 16:50:50 +0000 (10:50 -0600)
box_frame/extras/endstop-holder-extra.scad [new file with mode: 0644]

diff --git a/box_frame/extras/endstop-holder-extra.scad b/box_frame/extras/endstop-holder-extra.scad
new file mode 100644 (file)
index 0000000..cfe66c9
--- /dev/null
@@ -0,0 +1,60 @@
+// PRUSA Mendel
+// Endstop holder extra adapter rotator
+// Used to rotate endstops for Prusa i2/i3 endstop holders
+// GNU GPL v3
+// Ethan Sherman
+// ethan@blackguest.net
+
+include <../configuration.scad>
+
+/**
+ * This endstop adapter has 3 holes for endstops with either 10mm or 20mm spacing.
+ * It is designed to fit on the original endstop-holder to rotate a mechanical endstop 90 degrees.
+ *
+ * @id endstop-holder-extra
+ * @name Endstop holder extra
+ * @category Printed
+ */
+module endstop_extra(shaft_radius){
+    screw_hole_spacing = 20;
+    screw_hole_spacing2 = 10;
+
+    segments=64;
+
+    difference(){
+           union(){
+            // for reference, here is the main endstop arm
+                   //translate([-30, 0, 0]) cube([40, 4, 10]);
+
+            // endstop arm mount
+            translate([-20, -35.99, -5]) cube([10, 35, 5]);
+            // main sliding endstop mount slider plate
+            translate([-30, -5, -5]) cube([30, 5, 15]);
+            // extra overhang support (may not be easy to print in this orientation)
+            //#translate([-30, -0, -5]) cube([30, 6, 5]);
+
+            // extra curved arm support (optional)
+            difference(){
+                translate([-30, -15, -5]) cube([30, 11, 5]);
+                translate([-10, -10, -10]) rotate([0, 0, 90])
+                    translate([-5, -10, -1]) rotate([0, 0, 0]) cylinder(h =20, r = 10, $fn = segments);
+                translate([-40, -10, -10]) rotate([0, 0, 90])
+                    translate([-5, -10, -1]) rotate([0, 0, 0]) cylinder(h =20, r = 10, $fn = segments);
+            }
+           }
+
+        // main slot
+        for (z = [0:20]){
+            translate([-(5+screw_hole_spacing) + z, 7, 5]) rotate([90, 0, 0]) cylinder(h =20, r = m3_diameter/2, $fn = segments);
+        }
+
+        // small m2 holes
+        translate([-25, -8, -10]) rotate([0, 0, 90]){
+            translate([-5, -10, -1]) rotate([0, 0, 0]) cylinder(h =20, r = m2_diameter/2, $fn = segments);
+            translate([-(5+screw_hole_spacing), -10, -1]) rotate([0, 0, 0]) cylinder(h =20, r = m2_diameter/2, $fn = segments);
+            translate([-(5+screw_hole_spacing2), -10, -1]) rotate([0, 0, 0]) cylinder(h =20, r = m2_diameter/2, $fn = segments);
+        }
+    }
+}
+
+rotate([-90, 0, 0]) endstop_extra(bushing_xy[0]);