Merge branch 'rail_carriage_coloring' of https://github.com/martinbudden/NopSCADlib into martinbudden-rail_carriage_coloring
This commit is contained in:
commit
9d71438a3c
|
@ -34,7 +34,7 @@ module rails()
|
||||||
nut = screw_nut(screw);
|
nut = screw_nut(screw);
|
||||||
washer = screw_washer(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));
|
rail_screws(rail, length, sheet + nut_thickness(nut, true) + washer_thickness(washer));
|
||||||
|
|
||||||
|
|
|
@ -65,7 +65,7 @@ module carriage_hole_positions(type) { //! Position children over screw holes
|
||||||
children();
|
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);
|
total_l = carriage_length(type);
|
||||||
block_l = carriage_block_length(type);
|
block_l = carriage_block_length(type);
|
||||||
block_w = carriage_width(type);
|
block_w = carriage_width(type);
|
||||||
|
@ -100,19 +100,30 @@ module carriage(type, rail) { //! Draw the specified carriage
|
||||||
carriage_hole_positions(type)
|
carriage_hole_positions(type)
|
||||||
circle(screw_pilot_hole(screw));
|
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]);
|
|
||||||
|
|
||||||
|
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();
|
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
|
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);
|
rail(type, length);
|
||||||
|
|
||||||
translate([pos, 0])
|
translate([pos, 0])
|
||||||
carriage(rail_carriage(type), type);
|
carriage(rail_carriage(type), type, carriage_end_color, carriage_wiper_color);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue