made endstop holder parameteric and produce the correct ones according to smooth...
authorJoachim Glauche <webmaster@joaz.de>
Tue, 7 May 2013 18:52:47 +0000 (20:52 +0200)
committerJoachim Glauche <webmaster@joaz.de>
Tue, 7 May 2013 18:52:47 +0000 (20:52 +0200)
box_frame/extras/endstop-holder.scad

dissimilarity index 72%
index 1f10821..7ff11c8 100644 (file)
@@ -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]);
+