From 97b0bb7fbaefc5fc692a563c1a7218dfd0ce0839 Mon Sep 17 00:00:00 2001 From: TQ Hirsch Date: Sun, 6 Mar 2022 18:05:36 +0100 Subject: [PATCH] added configuration for screwhole expansion, deepened screwholes for idler posts --- TODO.md | 2 -- constants.scad | 6 +++-- parts.scad | 59 ++++++++++++++++++++++++++------------------------ 3 files changed, 35 insertions(+), 32 deletions(-) diff --git a/TODO.md b/TODO.md index 46a2320..c982146 100644 --- a/TODO.md +++ b/TODO.md @@ -1,9 +1,7 @@ ## Mechanical -* Add screw holes for feet in each corner * Add place to mount electronics (likely just an extra part) * add slot for motor electronic connection -* Add screw holes for idler mounts in rear corner * Raise motor mount on front left motor ## Electronics diff --git a/constants.scad b/constants.scad index 188d3ee..78139bd 100644 --- a/constants.scad +++ b/constants.scad @@ -14,5 +14,7 @@ cur_ypos = 140; echo(str("Range = ", [ xsize - xmin * 2, ysize - ymin * 2 ])); -$fn = 30; -$include_substock = true; +//$fn = 30; + +screw_hole_expansion = 1.1; +screw_num_sides = 7; \ No newline at end of file diff --git a/parts.scad b/parts.scad index 0ac5853..db88d72 100644 --- a/parts.scad +++ b/parts.scad @@ -65,12 +65,12 @@ module corner_base(extension = wall_thickness) { translate([pos + actual_corner_offset, 0, -odim]) union() { cylinder(d = 8, h=2, center=true); - cylinder(d = 5, h = odim); + cylinder(d = 5 * screw_hole_expansion, h = odim); } } // Adjustable feet - cylinder(d=8, h=odim * 2 + 1); + cylinder(d=8, h=odim * 2 + 1, $fn = screw_num_sides); } } @@ -172,29 +172,24 @@ module nema17_housing() { screw_dxy = 31 / 2; - translate([ 0, -nema17_face / 2 - frame_size / 2 - wall_thickness, 0 ]) - slotify([0, -motor_mount_length_adjustment, 0]) { - - translate([ 0, 0, -2 ]) + translate([ 0, -nema17_face / 2 - frame_size / 2 - wall_thickness, 0 ]) { + slotify([0, - motor_mount_length_adjustment, 0]) { + translate([ 0, 0, -2 ]) cube([ nema17_face + 1, nema17_face + 1, hdepth ], center = true); - cylinder(d = 23, frame_size); + cylinder(d = 23, frame_size); + } + for (x = [-1, 1], y = [-1,1]) { + slotify([0, - motor_mount_length_adjustment, 0]) + translate([ + x * screw_dxy, + y * screw_dxy, + frame_size / 2 + wall_thickness + 0.5 + ]) + rotate([ 180, 0, 0 ]) { + cylinder(d = 5 * screw_hole_expansion, h = wall_thickness + 1); + } + } - translate([ -screw_dxy, -screw_dxy, frame_size / 2 + wall_thickness ]) - rotate([ 180, 0, 0 ]) { - cylinder(d = 5, h = 3); - } - translate([ screw_dxy, -screw_dxy, frame_size / 2 + wall_thickness ]) - rotate([ 180, 0, 0 ]) { - cylinder(d = 5, h = 3); - } - translate([ -screw_dxy, screw_dxy, frame_size / 2 + wall_thickness ]) - rotate([ 180, 0, 0 ]) { - cylinder(d = 5, h = 3); - } - translate([ screw_dxy, screw_dxy, frame_size / 2 + wall_thickness ]) - rotate([ 180, 0, 0 ]) { - cylinder(d = 5, h = 3); - } } } @@ -227,7 +222,7 @@ module idler_post(belt_height, toothed = true) { cube([ post_radius * 2, post_radius * 2, slot_height ]); } - cylinder(d = 3, h = total_height + 1, $fn = 30); + cylinder(d = 3, h = total_height + 1); translate([ 0, 0, total_height - 2 ]) cylinder(r = 3, h = 3); } if($preview) { @@ -304,10 +299,18 @@ module frcorner() { module blcorner() { bom_item(); - union() - rotate([ 0, 0, 270 ]) { - corner_base(extension = rail_holder_width); - rail_holder(true); + difference() { + rotate([0, 0, 270]) { + corner_base(extension = rail_holder_width); + rail_holder(true); + } + for (pos = [ + [motor_shaft_xoffset + pulley_sbend_offset, 0, 0], + [0, motor_shaft_xoffset + pulley_sbend_offset, 0], + ]) { + translate(pos) + cylinder(d = 3, h = belt_height2, $fn=screw_num_sides); + } } translate([motor_shaft_xoffset + pulley_sbend_offset, 0, 0]) rotate([0,0,-90])