discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

hirth joint

M
mikeonenine@web.de
Mon, Nov 18, 2024 1:17 AM

Adrian Mariano wrote:

I'm not sure what you mean about "with 3 splines they only touch in the
middle".  That's only true if the model is wrong, like so many of my early
attempts.  With a correct model this is not the case, of course.  What
model gave you the behavior in question?  Or do you mean the model
constructed as described by Ray?  It may be the case that an improper fit
was good enough for machinists making these joints with lots of teeth?  For
my current code I get the image below, where I separated the parts by a
tiny amount to show the gap.  I'm pretty sure Bob's model also gives the
same result, namely that parts mate exactly along the entire joint
surface.  Our models are designed mathematically to ensure that they mate
exactly.  I realized that I never really examined Ray's model because I
couldn't get it to render in either OpenSCAD I had (not the stable nor the
dev) and preview was unusably slow on my machine.

[image: image.png]

On Sun, Nov 17, 2024 at 6:47 PM Caddiy via Discuss <
discuss@lists.openscad.org> wrote:

Adrian Mariano wrote:

Ray, so if I understand your description, you have the blank you're
grinding mounted at an angle and you then use your 60 deg grinding wheel to
grind the groove, which due to the angled mount, tapers from full depth at
the edge to zero depth in the center. Is that right? If the answer is yes,
then it appears to me that the result is NOT a 60 deg angle on the teeth,
because the cutter meets the workpiece at an angle, the effective tooth
angle is modified by that angle at which the blank is tilted.

That seems to confirm my hunch and it makes sense as then only 60° and 90°
tools are required instead of a whole range of different custom-made tools.
The resulting splines are then only nominally 60° or 90° while the groove
is precisely that angle. Can this be expected to give a proper fit?

The problem for us is also that CAD/3D printing and the machining process
work on different principles.

For a little extra complication: what does “fit” mean? To me it means that
the flanks must be in contact over the whole area. Even 0.01 mm of
clearance means no contact, and no transmission of forces, so that these
are concentrated on a small area. It can be seen most clearly in joints
with a small number of splines whether full contact is achieved, or not.

However, the discrepancy decreases rapidly with increasing numbers of
splines, and even further if the ring of splines is narrow, so that at some
point it will become negligible.

I also found that to get a symmetric self-mating joint I had to "grind" at
half that angle, in effect.  That is, I had to make the centerline of the
teeth intersect each other at the origin, not the teeth tips or the teeth
valleys.  I tried it the other way at first and it didn't work.

I would confirm that, the centreline being at half spline height. But with
3 splines, they only touch in the middle - see screenshot of joint with 90°
splines (included angle around the ridge, flank to flank).

BTW Hirth couplings were not at all simple to manufacture, with the
machinery available at the time and were a luxury. A crankshaft with Hirth
couplings for a Grand Prix racing car cost as much as a house.


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

That looks great - where’s the problem?

My model is based on three 60° triangles linear_extruded down to the origin, as in b) in the other diagram. The 60° triangles give 90° splines. It works if the splines are tilted slightly, but I have not been able so far to calculate a value. It looks like I won’t need to!

Adrian Mariano wrote: > I'm not sure what you mean about "with 3 splines they only touch in the > middle". That's only true if the model is wrong, like so many of my early > attempts. With a correct model this is not the case, of course. What > model gave you the behavior in question? Or do you mean the model > constructed as described by Ray? It may be the case that an improper fit > was good enough for machinists making these joints with lots of teeth? For > my current code I get the image below, where I separated the parts by a > tiny amount to show the gap. I'm pretty sure Bob's model also gives the > same result, namely that parts mate exactly along the entire joint > surface. Our models are designed mathematically to ensure that they mate > exactly. I realized that I never really examined Ray's model because I > couldn't get it to render in either OpenSCAD I had (not the stable nor the > dev) and preview was unusably slow on my machine. > > \[image: image.png\] > > On Sun, Nov 17, 2024 at 6:47 PM Caddiy via Discuss < > discuss@lists.openscad.org> wrote: > > > Adrian Mariano wrote: > > > > Ray, so if I understand your description, you have the blank you're > > grinding mounted at an angle and you then use your 60 deg grinding wheel to > > grind the groove, which due to the angled mount, tapers from full depth at > > the edge to zero depth in the center. Is that right? If the answer is yes, > > then it appears to me that the result is NOT a 60 deg angle on the teeth, > > because the cutter meets the workpiece at an angle, the effective tooth > > angle is modified by that angle at which the blank is tilted. > > > > That seems to confirm my hunch and it makes sense as then only 60° and 90° > > tools are required instead of a whole range of different custom-made tools. > > The resulting splines are then only nominally 60° or 90° while the groove > > is precisely that angle. Can this be expected to give a proper fit? > > > > The problem for us is also that CAD/3D printing and the machining process > > work on different principles. > > > > For a little extra complication: what does “fit” mean? To me it means that > > the flanks must be in contact over the whole area. Even 0.01 mm of > > clearance means no contact, and no transmission of forces, so that these > > are concentrated on a small area. It can be seen most clearly in joints > > with a small number of splines whether full contact is achieved, or not. > > > > However, the discrepancy decreases rapidly with increasing numbers of > > splines, and even further if the ring of splines is narrow, so that at some > > point it will become negligible. > > > > I also found that to get a symmetric self-mating joint I had to "grind" at > > half that angle, in effect. That is, I had to make the centerline of the > > teeth intersect each other at the origin, not the teeth tips or the teeth > > valleys. I tried it the other way at first and it didn't work. > > > > I would confirm that, the centreline being at half spline height. But with > > 3 splines, they only touch in the middle - see screenshot of joint with 90° > > splines (included angle around the ridge, flank to flank). > > > > BTW Hirth couplings were not at all simple to manufacture, with the > > machinery available at the time and were a luxury. A crankshaft with Hirth > > couplings for a Grand Prix racing car cost as much as a house. > > > > --- > > > > OpenSCAD mailing list > > To unsubscribe send an email to discuss-leave@lists.openscad.org That looks great - where’s the problem? My model is based on three 60° triangles linear_extruded down to the origin, as in b) in the other diagram. The 60° triangles give 90° splines. It works if the splines are tilted slightly, but I have not been able so far to calculate a value. It looks like I won’t need to!
M
mikeonenine@web.de
Mon, Nov 18, 2024 1:45 AM

Adrian Mariano wrote:

I'm not sure what you mean about "with 3 splines they only touch in the
middle".  That's only true if the model is wrong, like so many of my early
attempts.  With a correct model this is not the case, of course.  What
model gave you the behavior in question?  Or do you mean the model
constructed as described by Ray?  It may be the case that an improper fit
was good enough for machinists making these joints with lots of teeth?  For
my current code I get the image below, where I separated the parts by a
tiny amount to show the gap.  I'm pretty sure Bob's model also gives the
same result, namely that parts mate exactly along the entire joint
surface.  Our models are designed mathematically to ensure that they mate
exactly.  I realized that I never really examined Ray's model because I
couldn't get it to render in either OpenSCAD I had (not the stable nor the
dev) and preview was unusably slow on my machine.

[image: image.png]

On Sun, Nov 17, 2024 at 6:47 PM Caddiy via Discuss <
discuss@lists.openscad.org> wrote:

Adrian Mariano wrote:

Ray, so if I understand your description, you have the blank you're
grinding mounted at an angle and you then use your 60 deg grinding wheel to
grind the groove, which due to the angled mount, tapers from full depth at
the edge to zero depth in the center. Is that right? If the answer is yes,
then it appears to me that the result is NOT a 60 deg angle on the teeth,
because the cutter meets the workpiece at an angle, the effective tooth
angle is modified by that angle at which the blank is tilted.

That seems to confirm my hunch and it makes sense as then only 60° and 90°
tools are required instead of a whole range of different custom-made tools.
The resulting splines are then only nominally 60° or 90° while the groove
is precisely that angle. Can this be expected to give a proper fit?

The problem for us is also that CAD/3D printing and the machining process
work on different principles.

For a little extra complication: what does “fit” mean? To me it means that
the flanks must be in contact over the whole area. Even 0.01 mm of
clearance means no contact, and no transmission of forces, so that these
are concentrated on a small area. It can be seen most clearly in joints
with a small number of splines whether full contact is achieved, or not.

However, the discrepancy decreases rapidly with increasing numbers of
splines, and even further if the ring of splines is narrow, so that at some
point it will become negligible.

I also found that to get a symmetric self-mating joint I had to "grind" at
half that angle, in effect.  That is, I had to make the centerline of the
teeth intersect each other at the origin, not the teeth tips or the teeth
valleys.  I tried it the other way at first and it didn't work.

I would confirm that, the centreline being at half spline height. But with
3 splines, they only touch in the middle - see screenshot of joint with 90°
splines (included angle around the ridge, flank to flank).

BTW Hirth couplings were not at all simple to manufacture, with the
machinery available at the time and were a luxury. A crankshaft with Hirth
couplings for a Grand Prix racing car cost as much as a house.


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

That looks great - where’s the problem?

My model is based on three 60° triangles linear_extruded down to the origin, as in b) in the other diagram. The 60° triangles give 90° splines. It works if the splines are tilted slightly, but I have not been able so far to calculate a value. It looks like I won’t need to!

View of joint straight through between two splines.

mikeonenine@web.de wrote: > Adrian Mariano wrote: > > > I'm not sure what you mean about "with 3 splines they only touch in the > > middle". That's only true if the model is wrong, like so many of my early > > attempts. With a correct model this is not the case, of course. What > > model gave you the behavior in question? Or do you mean the model > > constructed as described by Ray? It may be the case that an improper fit > > was good enough for machinists making these joints with lots of teeth? For > > my current code I get the image below, where I separated the parts by a > > tiny amount to show the gap. I'm pretty sure Bob's model also gives the > > same result, namely that parts mate exactly along the entire joint > > surface. Our models are designed mathematically to ensure that they mate > > exactly. I realized that I never really examined Ray's model because I > > couldn't get it to render in either OpenSCAD I had (not the stable nor the > > dev) and preview was unusably slow on my machine. > > > > \[image: image.png\] > > > > On Sun, Nov 17, 2024 at 6:47 PM Caddiy via Discuss < > > discuss@lists.openscad.org> wrote: > > > > > Adrian Mariano wrote: > > > > > > Ray, so if I understand your description, you have the blank you're > > > grinding mounted at an angle and you then use your 60 deg grinding wheel to > > > grind the groove, which due to the angled mount, tapers from full depth at > > > the edge to zero depth in the center. Is that right? If the answer is yes, > > > then it appears to me that the result is NOT a 60 deg angle on the teeth, > > > because the cutter meets the workpiece at an angle, the effective tooth > > > angle is modified by that angle at which the blank is tilted. > > > > > > That seems to confirm my hunch and it makes sense as then only 60° and 90° > > > tools are required instead of a whole range of different custom-made tools. > > > The resulting splines are then only nominally 60° or 90° while the groove > > > is precisely that angle. Can this be expected to give a proper fit? > > > > > > The problem for us is also that CAD/3D printing and the machining process > > > work on different principles. > > > > > > For a little extra complication: what does “fit” mean? To me it means that > > > the flanks must be in contact over the whole area. Even 0.01 mm of > > > clearance means no contact, and no transmission of forces, so that these > > > are concentrated on a small area. It can be seen most clearly in joints > > > with a small number of splines whether full contact is achieved, or not. > > > > > > However, the discrepancy decreases rapidly with increasing numbers of > > > splines, and even further if the ring of splines is narrow, so that at some > > > point it will become negligible. > > > > > > I also found that to get a symmetric self-mating joint I had to "grind" at > > > half that angle, in effect. That is, I had to make the centerline of the > > > teeth intersect each other at the origin, not the teeth tips or the teeth > > > valleys. I tried it the other way at first and it didn't work. > > > > > > I would confirm that, the centreline being at half spline height. But with > > > 3 splines, they only touch in the middle - see screenshot of joint with 90° > > > splines (included angle around the ridge, flank to flank). > > > > > > BTW Hirth couplings were not at all simple to manufacture, with the > > > machinery available at the time and were a luxury. A crankshaft with Hirth > > > couplings for a Grand Prix racing car cost as much as a house. > > > > > > --- > > > > > > OpenSCAD mailing list > > > To unsubscribe send an email to discuss-leave@lists.openscad.org > > That looks great - where’s the problem? > > My model is based on three 60° triangles linear_extruded down to the origin, as in b) in the other diagram. The 60° triangles give 90° splines. It works if the splines are tilted slightly, but I have not been able so far to calculate a value. It looks like I won’t need to! View of joint straight through between two splines.
AM
Adrian Mariano
Mon, Nov 18, 2024 1:46 AM

I would say about my hirth code there is a problem if you were hoping that
the realized tooth angle was exactly equal to the requested one.  I decided
this was not important.  There are also some issues---ranging from weird
looking things that still work to ultimately models that fail---at extreme
parameter cases, which I have also decided not to worry about.  So for
example if you request fully skewed teeth with no chamfer and only two
teeth, it produces two teeth that are zero thickness, so the model fails.
As far as I've seen, even the really weird (but valid) cases still mate
properly.  I also have a problem that I implemented roundovers but they
don't join smoothly at extreme cases.  So in that case, chamfers may be
preferred.  I guess there is also a problem with my hirth code if you were
hoping for a trivial solution to the hirth modeling problem, as my solution
is not that.  Ray was arguing that the problem is simple and Bob and I are
overcomplicating things.

I started with the approach you are using of projecting vertical
triangles.  The way to understand the fix is to imagine the mating part,
with an upside-down triangle, filling the gap.  What constraint is required
for them to mate?  If you place such triangles in a vertical position you
can ensure that they mate at their center point by placing the centers on a
2n-gon.  But then there will be a gap between the bases of the triangles.
To fix that you need to tilt the triangles inward so their bases meet to
form a regular n-gon.  You can calculate the required tilt based on the
side length of the n-gon as a function or radius.  I ultimately abandoned
this design strategy in favor of Bob's approach based on representing the
triangles in spherical coordinates and projecting them onto a cylinder,
which is generally more intuitive, though there is an annoying complication
of having to do interpolation on the cylinder for things like calculating
the chamfer points.

Note that my code is already in BOSL2, though I do have one more set of
fixes coming in a PR that addresses some of those weird extreme cases.

On Sun, Nov 17, 2024 at 8:17 PM Caddiy via Discuss <
discuss@lists.openscad.org> wrote:

Adrian Mariano wrote:

I'm not sure what you mean about "with 3 splines they only touch in the
middle". That's only true if the model is wrong, like so many of my early
attempts. With a correct model this is not the case, of course. What model
gave you the behavior in question? Or do you mean the model constructed as
described by Ray? It may be the case that an improper fit was good enough
for machinists making these joints with lots of teeth? For my current code
I get the image below, where I separated the parts by a tiny amount to show
the gap. I'm pretty sure Bob's model also gives the same result, namely
that parts mate exactly along the entire joint surface. Our models are
designed mathematically to ensure that they mate exactly. I realized that I
never really examined Ray's model because I couldn't get it to render in
either OpenSCAD I had (not the stable nor the dev) and preview was unusably
slow on my machine.

[image: image.png]

On Sun, Nov 17, 2024 at 6:47 PM Caddiy via Discuss <
discuss@lists.openscad.org> wrote:

Adrian Mariano wrote:

Ray, so if I understand your description, you have the blank you're
grinding mounted at an angle and you then use your 60 deg grinding wheel to
grind the groove, which due to the angled mount, tapers from full depth at
the edge to zero depth in the center. Is that right? If the answer is yes,
then it appears to me that the result is NOT a 60 deg angle on the teeth,
because the cutter meets the workpiece at an angle, the effective tooth
angle is modified by that angle at which the blank is tilted.

That seems to confirm my hunch and it makes sense as then only 60° and 90°
tools are required instead of a whole range of different custom-made tools.
The resulting splines are then only nominally 60° or 90° while the groove
is precisely that angle. Can this be expected to give a proper fit?

The problem for us is also that CAD/3D printing and the machining process
work on different principles.

For a little extra complication: what does “fit” mean? To me it means that
the flanks must be in contact over the whole area. Even 0.01 mm of
clearance means no contact, and no transmission of forces, so that these
are concentrated on a small area. It can be seen most clearly in joints
with a small number of splines whether full contact is achieved, or not.

However, the discrepancy decreases rapidly with increasing numbers of
splines, and even further if the ring of splines is narrow, so that at some
point it will become negligible.

I also found that to get a symmetric self-mating joint I had to "grind" at
half that angle, in effect. That is, I had to make the centerline of the
teeth intersect each other at the origin, not the teeth tips or the teeth
valleys. I tried it the other way at first and it didn't work.

I would confirm that, the centreline being at half spline height. But with
3 splines, they only touch in the middle - see screenshot of joint with 90°
splines (included angle around the ridge, flank to flank).

BTW Hirth couplings were not at all simple to manufacture, with the
machinery available at the time and were a luxury. A crankshaft with Hirth
couplings for a Grand Prix racing car cost as much as a house.

OpenSCAD mailing list To unsubscribe send an email to
discuss-leave@lists.openscad.org

That looks great - where’s the problem?

My model is based on three 60° triangles linear_extruded down to the
origin, as in b) in the other diagram. The 60° triangles give 90° splines.
It works if the splines are tilted slightly, but I have not been able so
far to calculate a value. It looks like I won’t need to!


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

I would say about my hirth code there is a problem if you were hoping that the realized tooth angle was exactly equal to the requested one. I decided this was not important. There are also some issues---ranging from weird looking things that still work to ultimately models that fail---at extreme parameter cases, which I have also decided not to worry about. So for example if you request fully skewed teeth with no chamfer and only two teeth, it produces two teeth that are zero thickness, so the model fails. As far as I've seen, even the really weird (but valid) cases still mate properly. I also have a problem that I implemented roundovers but they don't join smoothly at extreme cases. So in that case, chamfers may be preferred. I guess there is also a problem with my hirth code if you were hoping for a trivial solution to the hirth modeling problem, as my solution is not that. Ray was arguing that the problem is simple and Bob and I are overcomplicating things. I started with the approach you are using of projecting vertical triangles. The way to understand the fix is to imagine the mating part, with an upside-down triangle, filling the gap. What constraint is required for them to mate? If you place such triangles in a vertical position you can ensure that they mate at their center point by placing the centers on a 2n-gon. But then there will be a gap between the bases of the triangles. To fix that you need to tilt the triangles inward so their bases meet to form a regular n-gon. You can calculate the required tilt based on the side length of the n-gon as a function or radius. I ultimately abandoned this design strategy in favor of Bob's approach based on representing the triangles in spherical coordinates and projecting them onto a cylinder, which is generally more intuitive, though there is an annoying complication of having to do interpolation on the cylinder for things like calculating the chamfer points. Note that my code is already in BOSL2, though I do have one more set of fixes coming in a PR that addresses some of those weird extreme cases. On Sun, Nov 17, 2024 at 8:17 PM Caddiy via Discuss < discuss@lists.openscad.org> wrote: > Adrian Mariano wrote: > > I'm not sure what you mean about "with 3 splines they only touch in the > middle". That's only true if the model is wrong, like so many of my early > attempts. With a correct model this is not the case, of course. What model > gave you the behavior in question? Or do you mean the model constructed as > described by Ray? It may be the case that an improper fit was good enough > for machinists making these joints with lots of teeth? For my current code > I get the image below, where I separated the parts by a tiny amount to show > the gap. I'm pretty sure Bob's model also gives the same result, namely > that parts mate exactly along the entire joint surface. Our models are > designed mathematically to ensure that they mate exactly. I realized that I > never really examined Ray's model because I couldn't get it to render in > either OpenSCAD I had (not the stable nor the dev) and preview was unusably > slow on my machine. > > [image: image.png] > > On Sun, Nov 17, 2024 at 6:47 PM Caddiy via Discuss < > discuss@lists.openscad.org> wrote: > > Adrian Mariano wrote: > > Ray, so if I understand your description, you have the blank you're > grinding mounted at an angle and you then use your 60 deg grinding wheel to > grind the groove, which due to the angled mount, tapers from full depth at > the edge to zero depth in the center. Is that right? If the answer is yes, > then it appears to me that the result is NOT a 60 deg angle on the teeth, > because the cutter meets the workpiece at an angle, the effective tooth > angle is modified by that angle at which the blank is tilted. > > That seems to confirm my hunch and it makes sense as then only 60° and 90° > tools are required instead of a whole range of different custom-made tools. > The resulting splines are then only nominally 60° or 90° while the groove > is precisely that angle. Can this be expected to give a proper fit? > > The problem for us is also that CAD/3D printing and the machining process > work on different principles. > > For a little extra complication: what does “fit” mean? To me it means that > the flanks must be in contact over the whole area. Even 0.01 mm of > clearance means no contact, and no transmission of forces, so that these > are concentrated on a small area. It can be seen most clearly in joints > with a small number of splines whether full contact is achieved, or not. > > However, the discrepancy decreases rapidly with increasing numbers of > splines, and even further if the ring of splines is narrow, so that at some > point it will become negligible. > > I also found that to get a symmetric self-mating joint I had to "grind" at > half that angle, in effect. That is, I had to make the centerline of the > teeth intersect each other at the origin, not the teeth tips or the teeth > valleys. I tried it the other way at first and it didn't work. > > I would confirm that, the centreline being at half spline height. But with > 3 splines, they only touch in the middle - see screenshot of joint with 90° > splines (included angle around the ridge, flank to flank). > > BTW Hirth couplings were not at all simple to manufacture, with the > machinery available at the time and were a luxury. A crankshaft with Hirth > couplings for a Grand Prix racing car cost as much as a house. > ------------------------------ > > OpenSCAD mailing list To unsubscribe send an email to > discuss-leave@lists.openscad.org > > That looks great - where’s the problem? > > My model is based on three 60° triangles linear_extruded down to the > origin, as in b) in the other diagram. The 60° triangles give 90° splines. > It works if the splines are tilted slightly, but I have not been able so > far to calculate a value. It looks like I won’t need to! > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >
M
mikeonenine@web.de
Mon, Nov 18, 2024 2:05 AM

Adrian Mariano wrote:

I would say about my hirth code there is a problem if you were hoping that
the realized tooth angle was exactly equal to the requested one.

Mine would give the exact tooth angle and therefore also the exact groove and tool angles.

You can calculate the required tilt based on the
side length of the n-gon as a function or radius.

With mine, it’s a little more complicated than that. I got something that was close, but not exactly right:

atan((2*PI*r/n - 2*r*sin(360/n/2)) / r/2);

and that was only for 60° splines.

Adrian Mariano wrote: > I would say about my hirth code there is a problem if you were hoping that > the realized tooth angle was exactly equal to the requested one. Mine would give the exact tooth angle and therefore also the exact groove and tool angles. > You can calculate the required tilt based on the \ > side length of the n-gon as a function or radius. With mine, it’s a little more complicated than that. I got something that was close, but not exactly right: `atan((2*PI*r/n - 2*r*sin(360/n/2)) / r/2);` and that was only for 60° splines.
AM
Adrian Mariano
Mon, Nov 18, 2024 2:13 AM

I'm not sure why you think your approach is "more complicated" than what I
described.  The code to do what I described took quite a while for me to
work out and looks like this:

outside_halfseg = or_extra2cos(180/n)tan(90/n);  // Side length of
2n-gon
outside_botseg = or_extra
2sin(180/n);              // Side length of
n-gon
delta = (or_extra - or_extra
2outside_halfseg/outside_botseg)cos(180/n);
tooth_width = 2
tan(tooth_angle/2);
h = 1/tooth_width * 2
outside_halfseg;
lean = asin(2*delta/h);

So I'd say your approach looks quite substantially simpler!  Here the
final result is "lean", the angle to tilt the triangle.

On Sun, Nov 17, 2024 at 9:06 PM Caddiy via Discuss <
discuss@lists.openscad.org> wrote:

Adrian Mariano wrote:

I would say about my hirth code there is a problem if you were hoping that
the realized tooth angle was exactly equal to the requested one.

Mine would give the exact tooth angle and therefore also the exact groove
and tool angles.

You can calculate the required tilt based on the
side length of the n-gon as a function or radius.

With mine, it’s a little more complicated than that. I got something that
was close, but not exactly right:

atan((2PIr/n - 2rsin(360/n/2)) / r/2);

and that was only for 60° splines.


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

I'm not sure why you think your approach is "more complicated" than what I described. The code to do what I described took quite a while for me to work out and looks like this: outside_halfseg = or_extra*2*cos(180/n)*tan(90/n); // Side length of 2n-gon outside_botseg = or_extra*2*sin(180/n); // Side length of n-gon delta = (or_extra - or_extra*2*outside_halfseg/outside_botseg)*cos(180/n); tooth_width = 2*tan(tooth_angle/2); h = 1/tooth_width * 2*outside_halfseg; lean = asin(2*delta/h); So I'd say your approach looks quite substantially simpler! Here the final result is "lean", the angle to tilt the triangle. On Sun, Nov 17, 2024 at 9:06 PM Caddiy via Discuss < discuss@lists.openscad.org> wrote: > Adrian Mariano wrote: > > I would say about my hirth code there is a problem if you were hoping that > the realized tooth angle was exactly equal to the requested one. > > Mine would give the exact tooth angle and therefore also the exact groove > and tool angles. > > You can calculate the required tilt based on the > side length of the n-gon as a function or radius. > > With mine, it’s a little more complicated than that. I got something that > was close, but not exactly right: > > atan((2*PI*r/n - 2*r*sin(360/n/2)) / r/2); > > and that was only for 60° splines. > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >
SP
Sanjeev Prabhakar
Mon, Nov 18, 2024 2:17 AM

a 4 tooth case with 60 deg tooth angle and 15 deg cone angle shows a
measured tooth angle of 56.2 deg.
I am surprised why it is like this?

[image: Screenshot 2024-11-18 at 7.43.53 AM.png]

a 4 tooth case with 60 deg tooth angle and 15 deg cone angle shows a measured tooth angle of 56.2 deg. I am surprised why it is like this? [image: Screenshot 2024-11-18 at 7.43.53 AM.png]
MM
Michael Marx (spintel)
Mon, Nov 18, 2024 2:23 AM

Yep. I just cleared it, so note the latest post is out of sequence.


From: Sanjeev Prabhakar via Discuss [mailto:discuss@lists.openscad.org]
Sent: Monday, November 18, 2024 3:13 AM
To: Adrian Mariano
Cc: OpenSCAD general discussion Mailing-list; mikeonenine@web.de; Sanjeev Prabhakar
Subject: [OpenSCAD] Re: hirth joint

I have checked again, the tooth angles in both inner side and outer side are exactly 80.6 and the distortion is not due to the projection on the cylinder, it is due to the cone angle and compound effect of the 2 angles.

In my case when I keep the cone angle at 32.5 deg all the angles exactly match the defined numbers.

Yep. I just cleared it, so note the latest post is out of sequence. _____ From: Sanjeev Prabhakar via Discuss [mailto:discuss@lists.openscad.org] Sent: Monday, November 18, 2024 3:13 AM To: Adrian Mariano Cc: OpenSCAD general discussion Mailing-list; mikeonenine@web.de; Sanjeev Prabhakar Subject: [OpenSCAD] Re: hirth joint I have checked again, the tooth angles in both inner side and outer side are exactly 80.6 and the distortion is not due to the projection on the cylinder, it is due to the cone angle and compound effect of the 2 angles. In my case when I keep the cone angle at 32.5 deg all the angles exactly match the defined numbers.
MM
Michael Marx (spintel)
Mon, Nov 18, 2024 2:26 AM

Oops, this was what I was meaning to reply to just now...ie Yep, it was blocked.


From: Sanjeev Prabhakar via Discuss [mailto:discuss@lists.openscad.org]
Sent: Monday, November 18, 2024 3:37 AM
To: Adrian Mariano
Cc: OpenSCAD general discussion Mailing-list; mikeonenine@web.de; Sanjeev Prabhakar
Subject: [OpenSCAD] Re: hirth joint

Oh I think the explanation I sent earlier had some pictures which exceeded the acceptable size for mails here and did not reach anyone.

Oops, this was what I was meaning to reply to just now...ie Yep, it was blocked. _____ From: Sanjeev Prabhakar via Discuss [mailto:discuss@lists.openscad.org] Sent: Monday, November 18, 2024 3:37 AM To: Adrian Mariano Cc: OpenSCAD general discussion Mailing-list; mikeonenine@web.de; Sanjeev Prabhakar Subject: [OpenSCAD] Re: hirth joint Oh I think the explanation I sent earlier had some pictures which exceeded the acceptable size for mails here and did not reach anyone.
M
mikeonenine@web.de
Mon, Nov 18, 2024 2:26 AM

Yes, my tilt calculation was simple - too simple, because it didn’t work properly and didn’t work at all for other spline angles, as I found to my dismay.

I’ll have to study your code to see if I can glean something from it.

Yes, my tilt calculation was simple - too simple, because it didn’t work properly and didn’t work at all for other spline angles, as I found to my dismay. I’ll have to study your code to see if I can glean something from it.
M
mikeonenine@web.de
Mon, Nov 18, 2024 2:40 AM

Sanjeev Prabhakar wrote:

a 4 tooth case with 60 deg tooth angle and 15 deg cone angle shows a
measured tooth angle of 56.2 deg.
I am surprised why it is like this?

[image: Screenshot 2024-11-18 at 7.43.53 AM.png]

3D geometry is full of surprises - that’s no surprise!

Your cone angle seems to be having a strange effect on your tooth angle.

Sanjeev Prabhakar wrote: > a 4 tooth case with 60 deg tooth angle and 15 deg cone angle shows a > measured tooth angle of 56.2 deg. > I am surprised why it is like this? > > \[image: Screenshot 2024-11-18 at 7.43.53 AM.png\] 3D geometry is full of surprises - that’s no surprise! Your cone angle seems to be having a strange effect on your tooth angle.