diff --git a/TODO.md b/TODO.md new file mode 100644 index 0000000..e69de29 diff --git a/assembly.scad b/assembly.scad index d572e60..98de3c0 100644 --- a/assembly.scad +++ b/assembly.scad @@ -80,4 +80,5 @@ union() { ysled_slider(spread=sled_ysize); translate([0, -1000, -1000]) cube([2000, 2000, 2000]); -} \ No newline at end of file +} +*xsled2(); \ No newline at end of file diff --git a/constants.scad b/constants.scad index 3c3aac1..84444df 100644 --- a/constants.scad +++ b/constants.scad @@ -14,5 +14,5 @@ cur_ypos = 140; echo(str("Range = ", [ xsize - xmin * 2, ysize - ymin * 2 ])); -$fs = 1.5; +$fn = 60; $include_substock = true; diff --git a/parts.scad b/parts.scad index 384ace0..821ecb5 100644 --- a/parts.scad +++ b/parts.scad @@ -24,7 +24,7 @@ belt_height2 = belt_height1 + belt_width + 2; // calculated ysled_rail_spacing = (sled_ysize); -motor_shaft_xoffset = (corner_size - wall_thickness) / 2; +motor_shaft_xoffset = (corner_size - wall_thickness) / 2 + 1; motor_mount_length_adjustment = 4; motor_mount_length = nema17_face + wall_thickness + motor_mount_length_adjustment; @@ -95,7 +95,9 @@ module ysled_slider(spread, associated_parts = $preview, is_left=true) { sled_height = frame_size; idler_spacing = spread / 3; - colorize("green") render() translate([ 0, -sled_len / 2, 0 ]) + local_idler_xoffset = pulley_sbend_offset - yrail_offset + motor_shaft_xoffset; + echo("LIX:", local_idler_xoffset) + colorize("green") translate([ 0, -sled_len / 2, 0 ]) rotate([ -90, 0, 0 ]) { difference() { union() { @@ -107,9 +109,13 @@ module ysled_slider(spread, associated_parts = $preview, is_left=true) { -frame_size / 2, 0 ]) cube([ frame_size + 5, frame_size, sled_len ]); } - - cylinder(d = bushing_id * 1.1, h = sled_len); - + + for (y = [idler_spacing/2, -idler_spacing/2]) { + rotate([90, 0, 0]) + translate([local_idler_xoffset, sled_len/2 + y, 0]) + cylinder(d=3, h = frame_size); + } + cylinder(d = rail_diam * 1.5, h = sled_len); translate([ 0, 0, -1 ]) cylinder(d = bushing_od, h = bushing_len + 1); translate([ 0, 0, sled_len - bushing_len ]) cylinder(d = bushing_od, h = bushing_len + 1); @@ -125,21 +131,20 @@ module ysled_slider(spread, associated_parts = $preview, is_left=true) { // color("#f00") translate( - [ pulley_sbend_offset - yrail_offset + motor_shaft_xoffset, 0, frame_size/2 ]) { + [ local_idler_xoffset, 0, frame_size/2 - 1 ]) { translate([ 0, idler_spacing / 2, 0 ]) { - idler_post(belt_height = belt_height1 - frame_size/2, toothed = is_left); + idler_post(belt_height = belt_height1 - frame_size/2 + 1, toothed = is_left); } translate([ 0, -idler_spacing / 2, 0 ]) { - *cylinder(d = 3, h = 30, $fs = 1); - *idler(belt_height2); - rotate([ 0, 0, -90 ]) { idler_post(belt_height = belt_height2 - frame_size/2, toothed = !is_left); } + rotate([ 0, 0, -90 ]) { idler_post(belt_height = belt_height2 - frame_size/2 + 1, toothed = !is_left); } } } - translate([ 0, -sled_len / 2, 0 ]) - rotate([ -90, 0, 0 ]) if (associated_parts) { - bushing(); - translate([ 0, 0, sled_len - bushing_len ]) bushing(); + if ($preview) { + translate([ 0, -sled_len / 2, 0 ]) rotate([ -90, 0, 0 ]) + bushing(); + translate([ 0, sled_len / 2, 0 ]) rotate([ 90, 0, 0 ]) + bushing(); } } @@ -207,11 +212,12 @@ module idler_post(belt_height, toothed = true) { cube([ post_radius * 2, post_radius * 2, slot_height ]); } - cylinder(d = 3, h = total_height + 1, $fn = 60); + cylinder(d = 3, h = total_height + 1, $fn = 30); translate([ 0, 0, total_height - 2 ]) cylinder(r = 3, h = 3); } - - idler(height = belt_height, toothed=toothed); + if($preview) { + idler(height = belt_height, toothed=toothed); + } } module flcorner() { @@ -419,7 +425,7 @@ module xsled2() { cylinder(d = tab_thickness, h = tab_len); translate( [ -tab_thickness / 2, ysign > 0 ? -tab_thickness / 2 : 0, 0 ]) - cube([ tab_thickness, tab_thickness / 2, tab_len ]); + cube([ tab_thickness, tab_thickness / 2 + 1, tab_len ]); } translate([ 0, 0, -0.5 ]) { cylinder(d = bushing_od, h = bushing_len + 0.5);