Michael
Michael
[This is a good primer](https://www.exploringbinary.com/why-0-point-1-does-not-exist-in-floating-point/) to this specific floating point problem. `0.01` as a double is `0.01000000000000000020816681711721685132943093776702880859375`
In case anyone with gear maths is looking, apex_to_apex appears to be wrong. Affecting the last cylinder in the difference (and probably more).
Nope, more complex than that...
Getting warmer, but my head hurts... Use this modified module ``` module involute_bevel_gear_tooth ( back_cone_radius, root_radius, base_radius, outer_radius, pitch_apex, cone_distance, half_thick_angle, involute_facets) { // echo ("involute_bevel_gear_tooth", // back_cone_radius, // root_radius,...
Make that line ~180
..and it involves pressure_angle, 36 is OK, 38 crosses the tip.
@hamiltont if you want a hack that gets past the CGAL error, in `module involute_bevel_gear_tooth ()` at line 282 replace points= with this ``` points=[ [back_cone_radius*2+0.1,0,cone_distance*2], [side1_point1[0],side1_point1[1],0], [side1_point2[0],min(side1_point2[1],side2_point2[1]),0], [side2_point2[0],max(side1_point2[1],side2_point2[1]),0], [side2_point1[0],side2_point1[1],0],...
@hamiltont Actually the above hack does affect the involute profile:  This (also a hack) is closer, but also loses the flat top: ``` points=[ [back_cone_radius*2+0.1,0,cone_distance*2], [side1_point1[0],side1_point1[1],0], [side1_point2[0],min(side1_point2[1],0),0],...
There has been discussion re security in the past, about automatically loading external content, that ended with 'not a good idea'.