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 // 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. // 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. // 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; teeth1=25;
// teeth2=19; teeth2=19;
// mod=4; mod=4;
// ps1 = 0.75; ps1 = 0.75;
// ps2 = 0.75; ps2 = 0.75;
// d = gear_dist(mod=mod, teeth1,teeth2,0,ps1,ps2); d = gear_dist(mod=mod, teeth1,teeth2,0,ps1,ps2);
// color("lightblue") color("lightblue")
// spur_gear2d(mod=mod,teeth=teeth1,profile_shift=ps1,gear_spin=-90); spur_gear2d(mod=mod,teeth=teeth1,profile_shift=ps1,gear_spin=-90);
// right(d) right(d)
// spur_gear2d(mod=mod,teeth=teeth2,profile_shift=ps2,gear_spin=-90); 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"); 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(2)right(d/2+25)color("black"){back(4)text("No clearance",size=6);
// fwd(4)text("at tooth tip",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. // 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; // teeth1=25;
// teeth2=19; // 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. // 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. // 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; // 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); // 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 // ang = gear_skew_angle(teeth1, teeth2, helical1=ha1, helical2=ha2); // Returns 57.7
left(d/2) // left(d/2)
spur_gear(circ_pitch, teeth1, helical=ha1, thickness=thick, gear_spin=-90); // spur_gear(circ_pitch, teeth1, helical=ha1, thickness=thick, gear_spin=-90);
right(d/2) color("lightblue") // right(d/2) color("lightblue")
xrot(ang) spur_gear(circ_pitch, teeth2, helical=ha2, thickness=thick, gear_spin=90-180/teeth2); // 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) = 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") assert(all_nonnegative([teeth1,teeth2]),"Must give nonnegative values for teeth")