Merge branch 'martinbudden-rail_carriage_coloring'

This commit is contained in:
Chris Palmer 2020-02-22 22:16:50 +00:00
commit 52729d012c
5 changed files with 28 additions and 17 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 758 KiB

After

Width:  |  Height:  |  Size: 759 KiB

View File

@ -2143,10 +2143,10 @@ Linear rails with carriages.
### Modules
| Module | Description |
|:--- |:--- |
| ```carriage(type, rail)``` | Draw the specified carriage |
| ```carriage(type, rail, end_color = grey20, wiper_color = grey20)``` | Draw the specified carriage |
| ```carriage_hole_positions(type)``` | Position children over screw holes |
| ```rail(type, length)``` | Draw the specified rail |
| ```rail_assembly(type, length, pos)``` | Rail and carriage assembly |
| ```rail_assembly(type, length, pos, carriage_end_color = grey20, carriage_wiper_color = grey20)``` | Rail and carriage assembly |
| ```rail_hole_positions(type, length, first = 0, screws = 100, both_ends = true)``` | Position children over screw holes |
| ```rail_screws(type, length, thickness, screws = 100)``` | Place screws in the rail |

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

After

Width:  |  Height:  |  Size: 111 KiB

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);
@ -100,19 +100,30 @@ module carriage(type, rail) { //! Draw the specified carriage
carriage_hole_positions(type)
circle(screw_pilot_hole(screw));
}
}
color(grey20)
for(end = [-1, 1])
translate([end * (block_l / 2 + end_l / 2), 0])
rotate([90, 0, 90])
linear_extrude(height = end_l, center = true)
difference() {
translate([-end_w / 2, carriage_clearance(type)])
square([end_w, end_h]);
cutout();
}
module carriage_end(type, end_w, end_h, end_l) {
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(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]);
cutout();
}
}
translate([-(block_l+end_l)/2,0,0])
rotate([90, 0, 90])
carriage_end(type, end_w, end_h, end_l);
translate([(block_l+end_l)/2,0,0])
rotate([90, 0, -90])
carriage_end(type, end_w, end_h, end_l);
}
module rail(type, length) { //! Draw the specified rail
@ -139,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);
}