Merge branch 'martinbudden-pulley_drawing_efficiency'

This commit is contained in:
Chris Palmer 2021-01-09 11:15:08 +00:00
commit f97070099e
1 changed files with 34 additions and 24 deletions

View File

@ -64,6 +64,7 @@ module pulley(type) { //! Draw a pulley
hl = pulley_hub_length(type); hl = pulley_hub_length(type);
w = pulley_width(type); w = pulley_width(type);
r1 = pulley_bore(type) / 2; r1 = pulley_bore(type) / 2;
screw_z = pulley_screw_z(type);
or = od / 2; or = od / 2;
ir = pulley_ir(type); ir = pulley_ir(type);
@ -100,16 +101,7 @@ module pulley(type) { //! Draw a pulley
} }
} }
module screw_holes() { module hub()
if(pulley_screws(type))
translate_z(pulley_screw_z(type))
for(i = [0 : pulley_screws(type) - 1])
rotate([-90, 0, i * -90])
cylinder(r = screw_radius(pulley_screw(type)), h = 100);
}
color("silver") {
render() difference() {
rotate_extrude() translate([r1, 0]) { rotate_extrude() translate([r1, 0]) {
if(hl) if(hl)
square([pulley_hub_dia(type) / 2 - r1, hl]); square([pulley_hub_dia(type) / 2 - r1, hl]);
@ -118,15 +110,33 @@ module pulley(type) { //! Draw a pulley
translate([0, z]) translate([0, z])
square([pulley_flange_dia(type) / 2 - r1, ft]); square([pulley_flange_dia(type) / 2 - r1, ft]);
} }
if(pulley_screw_z(type) < hl)
module screw_holes()
translate_z(screw_z)
for(i = [0 : pulley_screws(type) - 1])
rotate([-90, 0, i * -90])
cylinder(r = screw_radius(pulley_screw(type)), h = 100);
color(silver) {
if(screw_z && screw_z < hl)
render()
difference() {
hub();
screw_holes(); screw_holes();
} }
render() difference() { // T5 pulleys have screw through the teeth else
hub();
if(screw_z && screw_z > hl) // T5 pulleys have screw through the teeth
render()
difference() {
core(); core();
if(pulley_screw_z(type) > hl)
screw_holes(); screw_holes();
} }
else
core();
} }
} }