union() {
translate([8.5/2,0,0]) cube_fillet([8.5, 42 + xy_delta * 2, 20], top=[11, 0, 11, 0], center=true);
}
- translate([9, 14.5 + xy_delta, 0]) rotate([0, -90, 0]) screw(head_drop=1);
- translate([9,-14.5 - xy_delta, 0]) rotate([0,-90,0]) screw(head_drop=1);
+ translate([9, 14.5 + xy_delta, 0]) rotate([0, -90, 0]) screw(head_drop=1, $fn=small_hole_segments);
+ translate([9,-14.5 - xy_delta, 0]) rotate([0,-90,0]) screw(head_drop=1,$fn=small_hole_segments);
}
}
outer_diameter = shaft_diameter/2+3.3;
screw_hole_spacing = 20;
screw_hole_spacing2 = 10;
- opening_size = m8_diameter-1.5; //openingsize
+ opening_size = shaft_radius*2-1.5; //openingsize
segments=64;
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([17, 10+opening_size, 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);
+ translate([outer_diameter, outer_diameter, 0]) cylinder(h =30, 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, 20, 5]) rotate([90, 0, 0]) cylinder(h =20, r = m3_diameter/2, $fn = segments);
+ translate([17, 12+opening_size, 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
}
endstop(bushing_xy[0]);
-translate([0,20,0]) endstop(bushing_xy[0]);
-translate([0,40,0]) endstop(bushing_z[0]);
+translate([0,22,0]) endstop(bushing_xy[0]);
+translate([0,44,0]) endstop(bushing_z[0]);
module plate_screw(long=0) {
if (i_am_box == 0) {
- translate([0, 0, -long]) screw(head_drop=14 + long, h=20 + long, r_head=3.6, r=1.7, $fn=24, slant=false);
+ translate([0, 0, -long]) screw(head_drop=14 + long, h=30 + long, r_head=3.6, r=1.7, $fn=24, slant=false);
} else {
- translate([0, 0, -2 - long]) screw(head_drop=14 + long, h=20 + long, r_head=4.5, r=2, $fn=24, slant=true);
+ translate([0, 0, -2 - long]) screw(head_drop=14 + long, h=30 + long, r_head=4.5, r=2, $fn=24, slant=true);
}
}
m4_diameter = 4.7;
//iso4032 says 7.66
m4_nut_diameter = 7.6;
-m4_nut_diameter_horizontal = 8;
+m4_nut_diameter_horizontal = 8.15;
m3_diameter = 3.6;
//iso4032 says 6.01
y_delta = i_am_box == 0 ? -2.5 : xy_delta;
ybelt_hole_to_side = 5;
real_len = len + 2 * ybelt_hole_to_side;
-
+ screw_hole_z_offset = i_am_box == 0 ? 0 : 4;
+
difference(){
union(){
translate([-21 - belt_thickness, -7, 0]) cube_fillet([13 + y_delta, 14, len], vertical=[3,0,0,0], fn=8 );
translate([-14, -5.5, len / 2]) cube_fillet([24 + 2 * y_delta, 3, len], vertical=[3, 0, 0, 0], center = true);
- translate([-24.5, 0, real_len / 2]) cube_fillet([8.5, 16, real_len], center = true, vertical = [1, 1, 1, 1], $fn=16);
+ translate([-24.5, 0, real_len / 2]) cube_fillet([11.5, 16, real_len], center = true, vertical = [1, 1, 1, 1], $fn=16);
translate([-4.0 + y_delta, 0, len / 2]) cube_fillet([8, 14, len], center = true, vertical = [2,2,0,2]);
}
translate([-4.5 + y_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([screw_hole_z_offset,0,0]) rotate([0, -90, 0]) plate_screw(20);
translate([8 + y_delta, 0, 0]) cube([10, 9, 9], center=true);
}
translate([-11, 0, ybelt_hole_to_side]) {
- rotate([0, -90, 0]) plate_screw(20);
+ translate([screw_hole_z_offset,0,0]) rotate([0, -90, 0]) plate_screw(20);
translate([8 + y_delta, 0, 0]) cube([10, 9, 9], center=true);
}
translate([0, 20, 5]) cube([16, 20, thickness], center=true);
translate([0, 30, 0]) cylinder(h = thickness, r=8);
}
- translate([0, 10, -1]) cylinder(h = 12, r=4.5);
- translate([0, 30, -1]) cylinder(h = 12, r=4.5);
+ translate([0, 10, -1]) cylinder(h = 12, r=4.5, $fn=32);
+ translate([0, 30, -1]) cylinder(h = 12, r=4.5, $fn=32);
}
}
}
}
translate([-12, -9, idler_height / 2]) rotate([90, 0, 90]) oval(r=rod + 0.01, l=12, h=25);
- translate([0, -15 - single_wall_width, idler_height / 2]) {
+ translate([0, -15 - single_wall_width*2, idler_height / 2]) {
//nut
- rotate([90, 0, 0]) cylinder(r=m4_nut_diameter_horizontal / 2, h=3.3, $fn=6);
+ translate([0,0,0]) rotate([90, 0, 0]) cylinder(r=m4_nut_diameter_horizontal / 2, h=3.8, $fn=6);
//nut insert
- translate([0, -3.3, -m4_diameter * 1.5 / 2]) cube([20, 3.3, m4_diameter * 1.5]);
+ translate([-2, -3.8, -m4_diameter * 1.5 / 2]) cube([20, 3.8, m4_diameter * 1.5+0.3]);
}
- translate([0, -19, idler_height / 2]) rotate([90, 90, 0]) cylinder(r=m4_diameter / 2, h=15, $fn=7, center=true);
+ translate([0, -19, idler_height / 2]) rotate([90, 90, 0]) cylinder(r=m4_diameter / 2, h=15, $fn=small_hole_segments, center=true);
translate([0, len + idler_bearing[2] - 33, idler_height / 2]) {
rotate([0, 90, 0]) idler_assy(idler_bearing);
translate([0, 10, 0]) cube([idler_width + 1, 20, idler_height + 2], center=true);