Merge pull request #57 from AxTheB/master
authorVáclav 'ax' Hůla <axtheb@gmail.com>
Fri, 17 May 2013 22:17:11 +0000 (15:17 -0700)
committerVáclav 'ax' Hůla <axtheb@gmail.com>
Fri, 17 May 2013 22:17:11 +0000 (15:17 -0700)
Carriage length fix, chamfer

box_frame/configuration.scad.dist
box_frame/inc/functions.scad
box_frame/x-carriage.scad

index 35ebabf..b6290f1 100644 (file)
@@ -75,13 +75,17 @@ idler_bearing = bearing_624_double;
 carriage_l_base = 50;
 
 // Fillets ********************************************************************
+// fillets are rounded corners of boxes. The right engineering term is probably radius
+// but cad software calls it fillet.
 // mostly cosmetic, except z axis.
 // 0 = no fillets
 // 1 = fillet
+// 2 = chamfer (cut the edges at 45deg. angle)
+// Please do put only parts with fillets on sale, other options are not really tested
 
 use_fillets = 1;
 
-//set to 0 for single plate (affects z axis and screws that attach RP parts tp frame)
+//set to 0 for single plate (affects z axis and screws that attach RP parts to frame)
 i_am_box = 1;
 
 //if you do your own plate and can move bottom Z screws 5mm up set this to 0 to
index 4e633ef..40ee477 100644 (file)
@@ -45,7 +45,7 @@ module fillet(radius, height=100, $fn=0) {
 
 module cube_fillet(size, radius=-1, vertical=[3,3,3,3], top=[0,0,0,0], bottom=[0,0,0,0], center=false, $fn=0){
     //
-    if (use_fillets) {
+    if (use_fillets == 1) {
         if (center) {
             cube_fillet_inside(size, radius, vertical, top, bottom, $fn);
         } else {
@@ -53,7 +53,17 @@ module cube_fillet(size, radius=-1, vertical=[3,3,3,3], top=[0,0,0,0], bottom=[0
                 cube_fillet_inside(size, radius, vertical, top, bottom, $fn);
         }
     } else {
-        cube(size, center);
+        if (use_fillets == 2) {
+            if (center) {
+                cube_fillet_inside(size, radius, vertical, top, bottom, 4);
+            } else {
+                translate([size[0]/2, size[1]/2, size[2]/2])
+                    cube_fillet_inside(size, radius, vertical, top, bottom, 4);
+            }
+
+        } else {
+            cube(size, center);
+        }
     }
 
 }
index 422f673..194a21d 100644 (file)
@@ -15,11 +15,15 @@ use <extras/groovemount.scad>
 //Use 30 for single extruder, 50 for wades, 80 for dual extruders (moved to config file)
 //carriage_l_base = 80;
 //check if we need to extend carriage to fit bearings
-carriage_l_real = max(adjust_bushing_len(bushing_xy, carriage_l_base, layer_height * 9), adjust_bushing_len(bushing_carriage, carriage_l_base, layer_height * 9));
+carriage_l_adjusted = max(adjust_bushing_len(bushing_xy, carriage_l_base, layer_height * 9), adjust_bushing_len(bushing_carriage, carriage_l_base, layer_height * 9));
+//For bearings 30mm long or shorter enforce double len
+carriage_l_real = max((bushing_xy[2] > 30 ? carriage_l_adjusted : (2 * bushing_xy[2] + 6)), carriage_l_adjusted);
 // if the carriage was extended, we want to increase carriage_hole_to_side
 carriage_hole_to_side = max(3, ((carriage_l_real - carriage_l_base) / 2));
+echo(carriage_hole_to_side);
 carriage_l = carriage_l_base + 2 * carriage_hole_to_side;
 
+
 bushing_carriage_len = adjust_bushing_len(bushing_carriage, 21, layer_height * 9);
 
 module x_carriage(){
@@ -49,9 +53,13 @@ module x_carriage(){
                             translate([-3, -1, carriage_l/2]) cube_fillet([11, 16, carriage_l], vertical = [2, 2, 0, 0], center = true);
                             translate([-13, -10, 0]) cube([8, 10, carriage_l]);
                         }
-                        translate([-3.5, 0, 70]) cube([13, 10, 8], center = true);
-                        translate([-3.5, 0, 43]) cube([13, 10, 8], center = true);
-                        translate([-3.5, 0, 18]) cube([13, 10, 8], center = true);
+                        translate([-3.5, 0, 67 + carriage_hole_to_side]) cube([13, 10, 8], center = true);
+                        translate([-3.5, 0, 40 + carriage_hole_to_side]) cube([13, 10, 8], center = true);
+                        translate([-3.5, 0, 15 + carriage_hole_to_side]) cube([13, 10, 8], center = true);
+                        if (carriage_l_base == 30) {
+                            //more space for belt ends, as there is only one cutout
+                            #translate([-3.5, 0, 15 + carriage_hole_to_side]) cube([13, 10, 14], center = true);
+                        }
                     }
 
                 }