1
0
mirror of https://github.com/nophead/NopSCADlib.git synced 2025-08-30 02:30:27 +02:00

Improved pulley.scad speed.

This commit is contained in:
Chris Palmer
2021-01-09 11:13:14 +00:00
parent 4b533cffd2
commit 729891b675

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,17 +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_if(pulley_screw_z(type) < hl)
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]);
@@ -119,16 +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_if(pulley_type(type)[0] == "T") // T5 pulleys have screw through the teeth else
hub();
if(screw_z && screw_z > hl) // T5 pulleys have screw through the teeth
render()
difference() { difference() {
core(); core();
if(pulley_screw_z(type) > hl)
screw_holes(); screw_holes();
} }
else
core();
} }
} }