example fix

This commit is contained in:
Adrian Mariano 2023-08-02 19:45:48 -04:00
parent 9e36a1582a
commit cbc20f72b1

View file

@ -213,19 +213,19 @@ function _inherit_gear_thickness(thickness) =
// You can compute the shortening parameter using {{gear_shorten()}}. Note that the actual shortening distance is obtained
// by scaling the shortening fator by the gear's module.
// Figure(2D,Big,NoAxes,VPT=[55.8861,-4.31463,8.09832],VPR=[0,0,0],VPD=325.228): With large profile shifts the teeth need to be shortened or they don't have clearance in the valleys of the teeth in the meshing gear.
// teeth1=25;
// teeth2=19;
// mod=4;
// ps1 = 0.75;
// ps2 = 0.75;
// d = gear_dist(mod=mod, teeth1,teeth2,0,ps1,ps2);
// color("lightblue")
// spur_gear2d(mod=mod,teeth=teeth1,profile_shift=ps1,gear_spin=-90);
// right(d)
// spur_gear2d(mod=mod,teeth=teeth2,profile_shift=ps2,gear_spin=-90);
// right(9)stroke([[1.3*d/2,0],[d/2+4,0]], endcap2="arrow2",color="black");
// fwd(2)right(d/2+25)color("black"){back(4)text("No clearance",size=6);
// fwd(4)text("at tooth tip",size=6);}
teeth1=25;
teeth2=19;
mod=4;
ps1 = 0.75;
ps2 = 0.75;
d = gear_dist(mod=mod, teeth1,teeth2,0,ps1,ps2);
color("lightblue")
spur_gear2d(mod=mod,teeth=teeth1,profile_shift=ps1,gear_spin=-90);
right(d)
spur_gear2d(mod=mod,teeth=teeth2,profile_shift=ps2,gear_spin=-90);
right(9)stroke([[1.3*d/2,0],[d/2+4,0]], endcap2="arrow2",color="black");
fwd(2)right(d/2+25)color("black"){back(4)text("No clearance",size=6);
fwd(4)text("at tooth tip",size=6);}
// Figure(2D,Big,NoAxes,VPT=[55.8861,-4.31463,8.09832],VPR=[0,0,0],VPD=325.228): Applying the correct shortening factor restores the clearance to its set value.
// teeth1=25;
// teeth2=19;
@ -3256,13 +3256,13 @@ function _working_normal_pressure_angle_skew(teeth1,profile_shift1,helical1, tee
// --
// pressure_angle = The pressure angle of the gear.
// Example(3D,Med,NoAxes,VPT=[-2.62091,2.01048,-1.31405],VPR=[55,0,25],VPD=74.4017): These gears are auto profile shifted and as a result, do not mesh at the sum of their helical angles, but at 2.5 degrees more.
circ_pitch=5; teeth1=12; teeth2=7; ha1=25; ha2=30; thick=10;
d = gear_dist_skew(circ_pitch=circ_pitch, teeth1, teeth2, ha1, ha2);
ang = gear_skew_angle(teeth1, teeth2, helical1=ha1, helical2=ha2); // Returns 57.7
left(d/2)
spur_gear(circ_pitch, teeth1, helical=ha1, thickness=thick, gear_spin=-90);
right(d/2) color("lightblue")
xrot(ang) spur_gear(circ_pitch, teeth2, helical=ha2, thickness=thick, gear_spin=90-180/teeth2);
// circ_pitch=5; teeth1=12; teeth2=7; ha1=25; ha2=30; thick=10;
// d = gear_dist_skew(circ_pitch=circ_pitch, teeth1, teeth2, ha1, ha2);
// ang = gear_skew_angle(teeth1, teeth2, helical1=ha1, helical2=ha2); // Returns 57.7
// left(d/2)
// spur_gear(circ_pitch, teeth1, helical=ha1, thickness=thick, gear_spin=-90);
// right(d/2) color("lightblue")
// xrot(ang) spur_gear(circ_pitch, teeth2, helical=ha2, thickness=thick, gear_spin=90-180/teeth2);
function gear_skew_angle(teeth1,teeth2,helical1,helical2,profile_shift1,profile_shift2,pressure_angle=20) =
assert(all_nonnegative([teeth1,teeth2]),"Must give nonnegative values for teeth")