Parameterised coloring of linear rail carriage.

This commit is contained in:
Martin Budden 2020-01-12 10:20:10 +00:00
parent 03c97e8b6a
commit 75747687d9
2 changed files with 7 additions and 7 deletions

View File

@ -34,7 +34,7 @@ module rails()
nut = screw_nut(screw);
washer = screw_washer(screw);
rail_assembly(rail, length, rail_travel(rail, length) / 2);
rail_assembly(rail, length, rail_travel(rail, length) / 2, $i<2 ? grey20 : "green", $i<2 ? grey20 : "red");
rail_screws(rail, length, sheet + nut_thickness(nut, true) + washer_thickness(washer));

View File

@ -65,7 +65,7 @@ module carriage_hole_positions(type) { //! Position children over screw holes
children();
}
module carriage(type, rail) { //! Draw the specified carriage
module carriage(type, rail, end_color = grey20, wiper_color = grey20) { //! Draw the specified carriage
total_l = carriage_length(type);
block_l = carriage_block_length(type);
block_w = carriage_width(type);
@ -103,14 +103,14 @@ module carriage(type, rail) { //! Draw the specified carriage
}
module carriage_end(type, end_w, end_h, end_l) {
red_length = 0.5;
color("red") translate_z(-end_l/2) linear_extrude(red_length)
wiper_length = 0.5;
color(wiper_color) translate_z(-end_l/2) linear_extrude(wiper_length)
difference() {
translate([-end_w/2, carriage_clearance(type)])
square([end_w, end_h]);
cutout();
}
color("green") translate_z(red_length-end_l/2) linear_extrude(end_l-red_length)
color(end_color) translate_z(wiper_length-end_l/2) linear_extrude(end_l-wiper_length)
difference() {
translate([-end_w/2, carriage_clearance(type)])
square([end_w, end_h]);
@ -150,11 +150,11 @@ module rail(type, length) { //! Draw the specified rail
}
}
module rail_assembly(type, length, pos) { //! Rail and carriage assembly
module rail_assembly(type, length, pos, carriage_end_color = grey20, carriage_wiper_color = grey20) { //! Rail and carriage assembly
rail(type, length);
translate([pos, 0])
carriage(rail_carriage(type), type);
carriage(rail_carriage(type), type, carriage_end_color, carriage_wiper_color);
}