From 6b8ea9685e94052e8900176c10e0bb6ddb0a8103 Mon Sep 17 00:00:00 2001 From: Chris Palmer Date: Mon, 4 Jan 2021 14:46:54 +0000 Subject: [PATCH] Fixed rail_hole_positions() bug. --- vitamins/rail.scad | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/vitamins/rail.scad b/vitamins/rail.scad index 2b86aa7..5050790 100644 --- a/vitamins/rail.scad +++ b/vitamins/rail.scad @@ -53,7 +53,7 @@ function rail_holes(type, length) = //! Number of holes in a rail given its `len module rail_hole_positions(type, length, first = 0, screws = 100, both_ends = true) { //! Position children over screw holes pitch = rail_pitch(type); holes = rail_holes(type, length); - last = first + screws; + last = first + min(screws, both_ends ? ceil(holes / 2) : holes); for(i = [first : holes - 1], j = holes - 1 - i) if(i < last || both_ends && (j >= first && j < last)) translate([i * pitch - length / 2 + (length - (holes - 1) * pitch) / 2, 0]) @@ -194,6 +194,6 @@ module rail_screws(type, length, thickness, screws = 100) { //! Place screws in screw(end_screw, end_screw_len); translate_z(rail_screw_height(type, screw)) - rail_hole_positions(type, length, index_screws, min(screws, rail_holes(type, length)) - 2 * index_screws) + rail_hole_positions(type, length, index_screws) screw(screw, screw_len); }