Y belt holder for plate
authorVáclav 'Ax' Hůla <axtheb@gmail.com>
Fri, 12 Apr 2013 21:41:48 +0000 (23:41 +0200)
committerVáclav 'Ax' Hůla <axtheb@gmail.com>
Fri, 12 Apr 2013 21:41:48 +0000 (23:41 +0200)
box_frame/inc/functions.scad
box_frame/y-belt-holder.scad

index 16bb1d2..7b61a41 100644 (file)
@@ -131,11 +131,11 @@ module screw(h=20, r=2, r_head=3.5, head_drop=0, slant=i_am_box, poly=false, $fn
     }
 }
 
-module plate_screw() {
+module plate_screw(long=0) {
     if (i_am_box == 0) {
-        screw(head_drop=14, h=20, r_head=3.6, r=1.7, $fn=24, slant=false);
+        translate([0, 0, -long]) screw(head_drop=14 + long, h=20 + long, r_head=3.6, r=1.7, $fn=24, slant=false);
     } else {
-        translate([0, 0, -2]) screw(head_drop=14, h=20, r_head=4.5, r=2, $fn=24, slant=true);
+        translate([0, 0, -2 - long]) screw(head_drop=14 + long, h=20 + long, r_head=4.5, r=2, $fn=24, slant=true);
     }
 }
 
@@ -158,9 +158,9 @@ module belt(len, side = 0){
     //belt. To be substracted from model
     //len is in +Z, smooth side in +X, Y centered
     translate([-0.5, 0, 0]) maketeeth(len);
-    translate([0, -5, -0.01]) cube([belt_thickness, 10, len + 0.02]);
+    translate([0, -4.5, -0.01]) cube([belt_thickness, 9, len + 0.02]);
     if (side != 0) {
-    translate([0, -5 + side, -0.01]) cube_fillet([belt_thickness, 10, len + 0.02], vertical = [3, 0, 0, 0]);
+    translate([0, -4.5 + side, -0.01]) cube_fillet([belt_thickness, 9, len + 0.02], vertical = [3, 0, 0, 0]);
     }
 }
 
@@ -168,6 +168,6 @@ module belt(len, side = 0){
 module maketeeth(len){
     //Belt teeth. 
     for (i = [0 : len / belt_tooth_distance]) {
-        translate([0, 0, i * belt_tooth_distance]) cube([2, 10, belt_tooth_distance * belt_tooth_ratio], center = true);
+        translate([0, 0, i * belt_tooth_distance]) cube([2, 9, belt_tooth_distance * belt_tooth_ratio], center = true);
     }
 }
dissimilarity index 75%
index f66a1aa..e8859fe 100644 (file)
@@ -1,31 +1,39 @@
-// PRUSA iteration3
-// Y belt holder
-// GNU GPL v3
-// Josef Průša <josefprusa@me.com>
-// Václav 'ax' Hůla <axtheb@gmail.com>
-// http://www.reprap.org/wiki/Prusa_Mendel
-// http://github.com/prusajr/PrusaMendel
-
-include <configuration.scad>
-translate([28.5, 0, 0]){
-
-    %translate([0, 0, 35/2]) cube([20, 6, 35], center = true);
-    translate([-21 - belt_thickness, -7, 0]) cube_fillet([13 + xy_delta, 14, 35], vertical=[3,0,0,0], fn=8 );
-    translate([-9, -5.5, 17.5]) cube_fillet([12 + 2 * xy_delta, 3, 35], vertical=[3, 0, 0, 0], center = true);
-
-    difference(){
-        union(){
-
-            translate([-37.5+13, 0, 5]) cube_fillet([8.5, 35, 10], center = true, radius=1, $fn=8);
-            translate([-37.5+13, 0, 22.5]) cube([8.5, 14, 45], center = true);
-            translate([-4.0 + xy_delta, 0, 17.5]) cube_fillet([8, 14, 35], center = true, vertical = [2,2,0,2]);
-
-        }
-        translate([-4.5 + xy_delta, 0, 17.5]) cube([10, 10, 10], center = true);
-        translate([-20, -12, 5]) rotate([0, -90, 0]) screw();
-        translate([-20, 12, 5]) rotate([0, -90, 0]) screw();
-
-        translate([-20, 0, 40]) rotate([0, -90, 0]) screw();
-        #translate([-8 + xy_delta, 0, 0]) mirror([1, 0, 0]) belt(35);
-    }
-}
+// PRUSA iteration3
+// Y belt holder
+// GNU GPL v3
+// Josef Průša <josefprusa@me.com>
+// Václav 'ax' Hůla <axtheb@gmail.com>
+// http://www.reprap.org/wiki/Prusa_Mendel
+// http://github.com/prusajr/PrusaMendel
+
+include <configuration.scad>
+
+module y_belt_holder(len=42) {
+    ybelt_hole_to_side = 5;
+    real_len = len + 2 * ybelt_hole_to_side;
+
+    difference(){
+        union(){
+
+            translate([-21 - belt_thickness, -7, 0]) cube_fillet([13 + xy_delta, 14, len], vertical=[3,0,0,0], fn=8 );
+            translate([-9, -5.5, len / 2]) cube_fillet([12 + 2 * xy_delta, 3, len], vertical=[3, 0, 0, 0], center = true);
+            translate([-37.5+13, 0, real_len / 2]) cube_fillet([8.5, 16, real_len], center = true, vertical = [1, 1, 1, 1], $fn=16);
+            translate([-4.0 + xy_delta, 0, len / 2]) cube_fillet([8, 14, len], center = true, vertical = [2,2,0,2]);
+
+        }
+        translate([-4.5 + xy_delta, 0, real_len / 2]) cube([10, 10, 10], center = true);
+        translate([-11, 0, ybelt_hole_to_side + len]) {
+            rotate([0, -90, 0]) plate_screw(20);
+            translate([8 + xy_delta, 0, 0]) cube([10, 9, 9], center=true);
+        }
+        translate([-11, 0, ybelt_hole_to_side]) {
+            rotate([0, -90, 0]) plate_screw(20);
+            translate([8 + xy_delta, 0, 0]) cube([10, 9, 9], center=true);
+        }
+
+        translate([-8 + xy_delta, 0, 0]) mirror([1, 0, 0]) belt(real_len);
+    }
+}
+
+
+y_belt_holder();