Integrate Wilson II features into x-ends
[clinton/wilson.git] / scad / x-end-motor.scad
index 47471e9..9488169 100644 (file)
@@ -36,23 +36,43 @@ module adjustomatic() {
 
 }
 
-module pocket_endstop()
+// the endstop mount will be translated by this much (negative values
+// mean it moves away from the motor and toward the X carriage, giving
+// more room for leads and also extra space for the auto bedleveling
+// servo housing which is on this side of the extruder):
+endstop_sw_offs_adjust = -5;
+
+module pocket_endstop() // endstop holder grafted onto the side toward the rods
 {
-translate([-7,-40,0]) 
-    difference() {
-       union() {  translate([-1.5,0,0]) cube(size=[9,16,22]);
-                  //translate([3,12,20]) cylinder(r=4,h=10,$fn=16);
-                  translate([-11,40,57.9]) rotate([90,0,0]) cube(size=[10,5,20]);
-       }
-    
-    #translate([-2,-1,1]) cube(size=[7,16,22]);
-    //#translate([3,12,20]) cylinder(r=3,h=21,$fn=16);
-    // grove for wiring along bottom
-    #translate([-10,50.5,58]) rotate([90,0,0]) cube(size=[8,4,31]);
-    // screw holes for endstop switch
-    #translate([-2,7,1.5+5.5]) rotate([0,90,0]) cylinder(r=1.5,h=15);
-    #translate([-2,7,1.5+5.5+9.5]) rotate([0,90,0]) cylinder(r=1.5,h=15);
-    //#translate([0,-3,15]) cube(size=[6,15,20]);
+  translate([-7,-45,0]) 
+    union() {
+      // angled wall that attaches to the endstop holder
+      translate([-1,18,0]) rotate([0,0,-30]) cube(size=[8.5,2,22]);
+      // little bit of extra support at the bottom corner 
+      translate([-1.5,15.,2]) rotate([0,90,0]) cube(size=[2,3,10]);
+      
+      difference() {
+       translate([-1.5,endstop_sw_offs_adjust,0]) cube(size=[9,20.5,22]);
+           
+       translate([-2,endstop_sw_offs_adjust,1]) cube(size=[7,21,22]);
+       #translate([0,15.5,8]) cube(size=[10,5,20]);
+
+       // screw holes for endstop switch
+       translate([-2,7+endstop_sw_offs_adjust,1.5+5.5]) rotate([0,90,0]) cylinder(r=1.5,h=15);
+       translate([-2,7+endstop_sw_offs_adjust,1.5+5.5+9.5]) rotate([0,90,0]) cylinder(r=1.5,h=15);
+      }
+    }
+}
+
+module x_end_motor_sr() {
+    difference() { 
+       cube(size=[8,12,10]);
+       #translate([4,11.5,9]) rotate([0,90,0]) 
+               difference() { cylinder(r=4.5,h=4,$fn=16,center=true);
+                              translate([0,0,-1]) cylinder(r=2.5,h=7,$fn=16,center=true);
+               }
+
+        #translate([9,10.6,10]) rotate([0,45,90]) cube(size=[2,11,2]);
     }
 }
 
@@ -102,6 +122,9 @@ module x_end_motor_holes(){
   #translate([-5,-59,14]) difference() { cylinder(r=4.5,h=4,$fn=16);
                                           translate([0,0,-1]) cylinder(r=2.5,h=7,$fn=16);
                                         }
+  #translate([-5,-46,28]) rotate([90,0,0]) difference() { cylinder(r=4.5,h=4,$fn=16,center=true);
+       translate([0,0,-1]) cylinder(r=2.5,h=7,$fn=16,center=true);
+  }
  }
 }
 
@@ -111,6 +134,9 @@ module x_end_motor(){
   x_end_motor_base();
   x_end_motor_holes();
  }
+ // strain relief (zip tie point) below the motor 
+ translate([-23.5,9,53]) x_end_motor_sr(); 
 }
+
 rotate([0,0,180])
-x_end_motor();
\ No newline at end of file
+x_end_motor();