open for discussions #142
Replies: 9 comments 1 reply
-
I've used the workbench a few times, and I'm quite impressed. For the purpose of visualization of a gear in a CAD environment, the workbench is wonderful. |
Beta Was this translation helpful? Give feedback.
-
Glad to hear you are interested.
Interesting that you have attempted to model a single enveloping worm gear by modeling the cutting tool. I assume your plan was to “subtract” the tool from the worm blank. I have done a little work on worms, but not enough to guide you there. I think I do have the resources at hand to help with worm gears later.
The general approach to creating tooth profiles is to do it analytically, not through “subtraction”. It should be obvious that gear designers needed to be able to draw accurate tooth profiles long before the advent of CAD. So, how did they do this? Earle Buckingham provided a landmark treatise on the subject for most gear forms in the 1940s. I myself have used his techniques in my gear design class.
My offer is to use my background and experience to team with you to incorporate this technology into either the existing or a new workbench. I suspect that a new workbench would be easier, but, since I am not a programmer, I would leave that decision to you.
I think the biggest challenge we would face is communication. Since I am not a programmer, I don’t know what a “kernel” is, nor a “shell”. On the other hand, you might not be familiar with some gear design and manufacturing nomenclature. Some of it is pretty obscure.
The final challenge is that, for simplicity on my part, I would like to tackle the problem in Imperial units first. I have over 30 years of experience in gear design, but almost all of it in Imperial units. I think it would be a small job to add metric units as we near the end of the project.
I attempted to write some Python code last year to incorporate the functionality I needed, but ran into a wall with Python.
Let me know what you think.
Kelly Jones, PE
From: lorenz ***@***.***>
Sent: Saturday, January 20, 2024 6:58 AM
To: looooo/freecad.gears ***@***.***>
Cc: KellyJones2777 ***@***.***>; Comment ***@***.***>
Subject: Re: [looooo/freecad.gears] open for discussions (Discussion #142)
Great to hear that you find this workbwnch useful and for sure I am interested in adding new functionality to this workbench. Recently I tried to model the shape of a gear which works with a worm gear (single envelop). In this case the cutting tool is a rotating rack. For this case the generated tooth profile is an involute only for the middle section of the cutting tool. So basically this was already an attempt to generate a tooth shape for a general cutting tool. So I am interested in creating something that generates the contact surface of a given cutting tool, but there are some limitations I have seen so far:
1. I encountered numeric difficulties to compute the contact surface (I was not yet able to inspect this)
2. Freecad is not good to produce solids from given shells. I guess this is mainly because of limitations of the geometric kernel (occt)
So I expect that there are limitations with creating general tooth profiles.
But feel free to continue this discussion. Especially I would like to name the properties more clearly and follow the standards closer. So if you have suggestions please let me know.
Nice regards.
—
Reply to this email directly, view it on GitHub <#142 (reply in thread)> , or unsubscribe <https://github.com/notifications/unsubscribe-auth/AYJYZVUT2TJCZPMXWH2RVKDYPPLPTAVCNFSM6AAAAABBEQLJKGVHI2DSMVQWIX3LMV43SRDJONRXK43TNFXW4Q3PNVWWK3TUHM4DCOJQHA3DO> .
You are receiving this because you commented. <https://github.com/notifications/beacon/AYJYZVQW2GGDKES5AWQY4ELYPPLPTA5CNFSM6AAAAABBEQLJKGWGG33NNVSW45C7OR4XAZNRIRUXGY3VONZWS33OINXW23LFNZ2KUY3PNVWWK3TUL5UWJTQAPT5ZG.gif> Message ID: ***@***.*** ***@***.***> >
|
Beta Was this translation helpful? Give feedback.
-
yap, this is what I tried. There is this law of motion of gears which can be used to generate the contact-surface. This is that the normal to the cutting-profile must always pass the pitch point (the point which is in contact for a simplified geometry (in case of a spur gear its a cylinder, or in 2d a circle).
I am looking forward to any ideas we can work on. Not sure what exactly it is but, I am always interested in new approaches for gear design.
We will see how we can proceed. I always happy to learn something new.
I guess freecad has the option to work with imperial units. Although I don't like it a lot (because metric system is much more logical to me) I think it's possible to get also good results for imperial units. Have you tried using imperial units with the gear-workbench? nice regards |
Beta Was this translation helpful? Give feedback.
-
1. Yep, it’s called “conjugate action”. As long as the common normal between two contacting surfaces pass through a fixed point on the line of centers, you will achieve a constant output velocity for a constant input velocity. It was described by our friend Earle Buckingham in his treatise back in the 1940s.
2. Like I said, the decision whether to use, reuse or generate new code is clearly your call.
3. I figured Imperial units might be an issue for you. I don’t blame you. My insistence on using it initially is based on more than simple personal preference. Let me explain:
In the gear world, there is a concept of “standard” gear proportions. The geometric features of gears, such as tooth thickness, tooth height, fillet radius, and so forth are all calculated, initially, from standard values. For example, the distance from the pitch line to the top of the gear (called the addendum) is 1.0/Pd, where Pd is the diametral pitch. The filet radius is .25/Pd, and so forth. These proportions are memoizable. The next thing to know is that there is rarely ever a gear manufactured to “standard” proportions. Almost every part of gear geometry will be modified in order to achieve the desired mesh performance. (This is particularly true for ratios above about 1.75:1.) As a designer, I usually want to know how far the design deviates from “standard” as I tweak my design. This is done by working the design at 1.0 Pd until the mesh performs as desired, and then dividing everything through by Pd at the last to get the actual gear proportions. The only quantity that doesn’t follow this rule is backlash, but we will get to that later.
Metric gear work the same way, although I would have to l look up the proportions of module gears (which I think are the same as Imperial), except you multiply by module m when you are done.
Assuming the proportions are identical (don’t recall for sure that they are though), one could theoretically simply convert units back and forth as you use the software. This means a 1.0 Pd gear would have a module of 25.4 mm and a 1.0 module gear would have a Pd of .254 1/in. Both module and diametral pitch tools come in standard values (1, 2, 10, 20, etc.) so it would drive a manufacturing guy nuts trying to switch back and forth. I believe this was the crux of the problem I ran into when I tried using the workbench last year. Although I could toggle the unit, the workbench seemed to be biased to metric and I couldn’t get the right numbers for Imperial units.
Anyway, the long and the short of it is that (for me) it will be far easier to troubleshoot the workbench initially in Imperial units.
That brings me to the next point: Project scope.
The world of gear design is large and complex. There are varying levels we could pursue:
1. Gear geometry for a single gear.
2. Gear geometry and mesh performance for a pair of gears.
3. Calculation of geometry factors for a pair of gears (for use in stress analysis)
4. Full stress analysis of a gear pair for any duty cycle.
I have a copy of Integrated Gear Design (IGS) software package by Universal Technical Systems (UTS) that allows me to do almost all of the above gear analysis, and indeed, I have a business relationship with them. We have partnered to develop gear design classes for industrial customers. In order to avoid a conflict of interest, I propose we limit the workbench to achieve the following two goals:
1. Generate an accurate 3D model of simple external and internal spur and helical gears.
2. Generate a gear data table for insertion into a drawing or other dataset for manufacturing the subject gear.
Let me know what you think.
Kelly
|
Beta Was this translation helpful? Give feedback.
-
I am not yet sure what you want to achieve.
This should be already possible
This is something we can add. Regarding imperial units, you can switch the general settings of freecad to imperial units quite easily via the settings. But as I understand the difference is mainly that "metric gears" are driven by the module, while imperial gears ave pd as the main property. Is this right? |
Beta Was this translation helpful? Give feedback.
-
Lorenz
Taking the units issue first, yes you understand it correctly. In gear practice, switching between metric and Imperial units takes a little more than simply multiplying or dividing by 25.4, mostly because the standard tools in the two worlds are different. I also found that switching to Imperial units in the global settings didn’t help because the workbench seemed to have metric built in. For example, I recall that even with Imperial units selected, the workbench seemed to be multiplying everything by the diametral pitch instead of dividing. I tried inputting the reciprocal of the diametral pitch, but that didn’t seem to give me the right results. I spent a lot of time trying to figure out a work around and never found one. Keep in mind this was al over a year ago, so I don’t recall all the exact details at this time.
As for the “Accurate 3D model”: yes, the workbench produces an accurate involute profile. The outside diameter is correct too. The fillet radius (as generated by the workbench) is never correct. Having an accurate fillet radius is essential to doing FEM work with the model, or calculating geometry factors graphically. And the work bench doesn’t allow the designer (or the manufacturing engineer, for that matter) to study the resultant gear geometry based on tool selections (i.e. hobs and shaper tools). As it stands, the workbench works pretty well for simply visualizing a gear within a model, but it’s not much help in actually designing the gear.
Gear designers spend lots of time fussing with the fillet radius. The fillet radius drives a set of stress concentration factors from which the strength and life of the gear may be estimated. The problem is that the fillet radius is not a radius at all, but is a generated trochoid. A trochoid is a curve with a continuously changing radius of curvature, and in this case is a result of the cutting tool geometry. Much effort is spent finding the critical tooth section (the point where the tooth is tangent to an inscribed parabolic cantilever beam) and then finding the exact radius of curvature of the fillet at that point. Tough to do if the fillet isn’t accurate.
One of the main things I wanted to do was to allow the user to select tooth proportions outside of “standard”, like I often do when designing gears. These changes often drive tooling changes. And about 50% of the time, manufacturing asks for gear changes to accommodate existing tools. The workbench could then allow us to see the results of these changes.
One other possibility is to use a gear program, like IGS, to design the gear, then import the data from IGS to the Freecad workbench, then have Freecad generate the 3D model from that data. That might actually be easier in the long run.
The gear data table can almost be generated from the data available in the workbench now. It would be nice to have the gear table generated automatically for the designer.
Kelly
From: lorenz ***@***.***>
Sent: Sunday, January 21, 2024 11:18 AM
To: looooo/freecad.gears ***@***.***>
Cc: KellyJones2777 ***@***.***>; Comment ***@***.***>
Subject: Re: [looooo/freecad.gears] open for discussions (Discussion #142)
I am not yet sure what you want to achieve.
1. Generate an accurate 3D model of simple external and internal spur and helical gears.
This should be already possible
2. Generate a gear data table for insertion into a drawing or other dataset for manufacturing the subject gear.
This is something we can add.
Regarding imperial units, you can switch the general settings of freecad to imperial units quite easily via the settings. But as I understand the difference is mainly that "metric gears" are driven by the module, while imperial gears ave pd as the main property. Is this right?
—
Reply to this email directly, view it on GitHub <#142 (comment)> , or unsubscribe <https://github.com/notifications/unsubscribe-auth/AYJYZVWVOQJK7E6LFIPZTADYPVSWNAVCNFSM6AAAAABBEQLJKGVHI2DSMVQWIX3LMV43SRDJONRXK43TNFXW4Q3PNVWWK3TUHM4DEMBRGAYDA> .
You are receiving this because you commented. <https://github.com/notifications/beacon/AYJYZVX7YTSO2U3LUWGJZDDYPVSWNA5CNFSM6AAAAABBEQLJKGWGG33NNVSW45C7OR4XAZNRIRUXGY3VONZWS33OINXW23LFNZ2KUY3PNVWWK3TUL5UWJTQAPURSQ.gif> Message ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
The undercut is produced by the edge of the rack. I guess normally this would be a fillet and not a point which produces the undercut. The undercut is (imo) only relevant for gears with a small number of teeth. For bigger gears a root-fillet can be used (which is interesting for 3d-printing, but not for cutted gears).
How is this data specified? |
Beta Was this translation helpful? Give feedback.
-
I’m out of town right now. I’ll send you a detailed reply when I get home next week.KellySent from my iPadOn Feb 3, 2024, at 1:43 AM, lorenz ***@***.***> wrote:
The fillet radius (as generated by the workbench) is never correct.
The undercut is produced by the edge of the rack. I guess normally this would be a fillet and not a point which produces the undercut. The undercut is (imo) only relevant for gears with a small number of teeth. For bigger gears a root-fillet can be used (which is interesting for 3d-printing, but not for cutted gears).
One other possibility is to use a gear program, like IGS, to design the gear, then import the data from IGS to the Freecad workbench, then have Freecad generate the 3D model from that data. That might actually be easier in the long run.
How is this data specified?
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
Lorenz:
Let’s take the second issue first, as it’s a simpler answer. IGS calculates the coordinates of the tooth profile (or space profile for internal gears) in cartesian coordinates. This data can be copied and pasted into a spreadsheet, like Excel. These approximately 350 points can then be plotted.
The fillet radius requires a more verbose answer. First, we need to clarify our nomenclature. An undercut is usually a bad thing, and usually only occurs with smaller numbers of teeth. Undercut occurs when the tool cuts away the tooth profile and then weakening the tooth:
The fillet radius is a different thing altogether. While an undercut has a fillet radius, a fillet radius is not necessarily an undercut. A fillet radius exists for all generated tooth forms. As an aside, gears cut with form tools do not usually provide conjugate action, except in rare circumstances, and gears formed in molds (e.g. plastic gears) are not likely to provide conjugate action unless great care is taken in their design. You will recall that conjugate action is the property in which the output speed is constant for a constant input speed. Non-conjugate action is acceptable for some applications, like toys and small home appliances, but it is absolutely crucial for applications that transmit high torque (automotive power transmission), high speed (gas turbines) , or precision motion (sensors).
The involute portion of the gear tooth is formed by the kinematic action between the flank of the rack and the work piece, or blank. The fillet radius is formed by a portion of the flank of the rack and the tip radius of the rack. The rack tip radius is located at the intersection of the flank and the top land (or tip line) of the rack. Actual gear racks typically have no tip radius, but cutting tools, such as hobs (which simulate the basic rack during tooth generation) usually do have a tip radius:
It should be obvious that even a zero radius tool will result in a fillet radius of a generated tooth:
So why do we spend so much time obsessing over the fillet radius? From the gear designer’s perspective two things come to mind. First, the fillet radius drives the fatigue strength of the gear tooth. Empirical methods for estimating the stress concentration factor effects have been developed which rely on an accurate knowledge of the fillet radius geometry. The larger the fillet, the lower the stress concentration and thus the stronger the tooth.
Second, the location of the intersection of the fillet radius (or trochoid) and the involute curve is called the True Involute Form Diameter (TIF), and the mating gear should never make contact below this point. (In fact, good design practice dictates the distance from the lowest point of any contact to the TIF should never be less than .050/Pd.) Contact below this point results in non-conjugate action, and may lead to interference in the root. To avoid this, the designer may modify the mesh by shortening the addendum of the mating gear, or by increasing the center distance, or both. Both of these actions affect the contact ratio, the approach action, the specific sliding velocities, and increase the bending stresses in the tooth. The fillet radius geometry then becomes the focus of juggling tooth strength with a well designed mesh.
From the gear manufacturer’s perspective, the fillet radius of the tooth drives the cutting tool geometry. While involute gear teeth of the same diametral pitch and pressure angle are all theoretically “interchangeable”, the same cannot be said for the fillet radius. The manufacturing engineer will need to decide whether the specified gear can be cut with existing tools, or if new tooling must be ordered. Indeed, there is often a “back and forth” between the designer and the manufacturer where the gear design is negotiated to optimize the use of existing tools.
This leads me to the FreeCAD workbench. In addition to modifying the workbench to allow modification of the addendum, dedendum, and tooth thickness, it would be very helpful if the fillet radius was generated from the tool data. In gear analysis tools, like IGS, the designer will assume standard tool geometry (at 1 Pd) for cutting the gear. As the mesh evolves, the tool geometry is modified to suit, and then the designer and the manufacturer can review the tool data together.
I hope this makes sense.
Kelly
From: lorenz ***@***.***>
Sent: Saturday, February 3, 2024 1:44 AM
To: looooo/freecad.gears ***@***.***>
Cc: KellyJones2777 ***@***.***>; Comment ***@***.***>
Subject: Re: [looooo/freecad.gears] open for discussions (Discussion #142)
The fillet radius (as generated by the workbench) is never correct.
The undercut is produced by the edge of the rack. I guess normally this would be a fillet and not a point which produces the undercut. The undercut is (imo) only relevant for gears with a small number of teeth. For bigger gears a root-fillet can be used (which is interesting for 3d-printing, but not for cutted gears).
One other possibility is to use a gear program, like IGS, to design the gear, then import the data from IGS to the Freecad workbench, then have Freecad generate the 3D model from that data. That might actually be easier in the long run.
How is this data specified?
—
Reply to this email directly, view it on GitHub <#142 (comment)> , or unsubscribe <https://github.com/notifications/unsubscribe-auth/AYJYZVUYSNUGEJDJNPDBVZLYRYBFFAVCNFSM6AAAAABBEQLJKGVHI2DSMVQWIX3LMV43SRDJONRXK43TNFXW4Q3PNVWWK3TUHM4DGNJTG42TO> .
You are receiving this because you commented. <https://github.com/notifications/beacon/AYJYZVSQYYQSQO5UY6XSFM3YRYBFFA5CNFSM6AAAAABBEQLJKGWGG33NNVSW45C7OR4XAZNRIRUXGY3VONZWS33OINXW23LFNZ2KUY3PNVWWK3TUL5UWJTQAP5352.gif> Message ID: ***@***.*** ***@***.***> >
|
Beta Was this translation helpful? Give feedback.
-
feel free to start discussion
Beta Was this translation helpful? Give feedback.
All reactions