mirror of
https://github.com/nophead/NopSCADlib.git
synced 2025-09-09 22:51:16 +02:00
Fixed bug in rail screw placement when putting screws in the middle.
Rail test can now move the carriages with customiser.
This commit is contained in:
@@ -52,8 +52,9 @@ function rail_holes(type, length) = //! Number of holes in a rail given its ```l
|
||||
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);
|
||||
for(i = [first : holes - 1 - first])
|
||||
if(i < screws || (holes - i <= screws && both_ends))
|
||||
last = first + screws;
|
||||
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])
|
||||
children();
|
||||
}
|
||||
@@ -177,7 +178,6 @@ module rail_assembly(type, length, pos, carriage_end_colour = grey(20), carriage
|
||||
|
||||
translate([pos, 0])
|
||||
carriage(rail_carriage(type), type, carriage_end_colour, carriage_wiper_colour);
|
||||
|
||||
}
|
||||
|
||||
module rail_screws(type, length, thickness, screws = 100) { //! Place screws in the rail
|
||||
@@ -193,6 +193,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, screws)
|
||||
rail_hole_positions(type, length, index_screws, min(screws, rail_holes(type, length)) - 2 * index_screws)
|
||||
screw(screw, screw_len);
|
||||
}
|
||||
|
Reference in New Issue
Block a user