As a mechanical-enthusiast, I became curious about curvic couplings. Curvic couplings are a mechanical coupling used in demanding aerospace applications.
For example, you may have turbine-discs in a jet engine, that you need to rigidly couple together. Jet engines have extreme requirements: extreme torque, extreme centrifugal forces (many thousands of RPMs), extreme temperatures, and extreme requirements for precision and reliability. If there is any movement between the parts under load, the metal will rub, wear, and fret.
Here is an image of a simplified curvic coupling. It looks a bit like a gear, with teeth. One side has convex-teeth, and the other concave-teeth. The two parts fit with high precision.
Gleason Works, a gear-manufacturing company, invented curvic couplings for such demanding applications. Because they are experts in gear manufacturing, the idea was to make the coupling using the same machines that cut and grind high-precision gears, So between extreme requirements, balanced with manufacturability, they came up with curvic couplings.
You can learn more about curvic couplings here:
https://www.geartechnology.com/curvic-coupling-design
Direct link to PDF at www.geartechnology.com
For fun, I decided to try my own take on curvic-couplings, using Grasshopper. I call it “pseudo” curvic couplings, because I have changed the design in two important ways, which I’ll describe below.
Here we pull apart the coupling into its two pieces.
Flip the top part over and move it to the right, so we can see its teeth.
Normally, the colored surfaces below are flat (planar) for ease of manufacturing. (The teeth are finished with annular grinding wheels.)
For my “pseudo” curvic couplings, the green and red surfaces are slightly conical. (Hey, it’s my own variation; so I can do whatever I want!) I’m making these on a consumer FDM 3d printer. So I don’t want the stress-concentration, at the root of a tooth, to be on the same layer-line, because layer-lines are weak. So by making the surfaces slightly conical, the stress-concentration will be spread across a few layer lines. My naive hope is that this would make the teeth stronger/tougher. But that’s only my guess (untested).
Except for fillets/chamfers, the surfaces of the curvic coupling are conical (or planar). Without going into detail, these drawings should give you an idea of how the surfaces are generated. Details are in the links above.
Finally, we want to add fillets and tolerances to the design. Tolerance is exaggerated for illustration.
My Grasshopper script doesn’t check that the tooth-width and spacing makes it easy to manufacture with annular grinding wheels. See the links above about how they are made. Since I am 3d-printing rather than machining/grinding, I am ignoring constraints on tooth-spacing and tooth-width.
The script would have been straight-forward for me, but adding in fillets and tolerances was a little more work than I expected. To do fillets, I had to automate selection of the brep edges to fillet. And to do tolerances, I avoided Offset Surface (because it is complicated and can fail). Instead, I adjusted the curves used to generate the conical surfaces. So everything is done as triplets: for zero tolerance, positive-tolerance, and negative-tolerance. Getting the data-trees right for all that always gets me a little confused.
For the example shown, it takes about 10 seconds on my desktop, and about 15 seconds on my laptop. I think just over half the time is spent doing the fillets (4 fillets per tooth)(24 teeth)*(3 for triplets of zero-tol, +tol, -tol) = 288 fillets. I suppose I could have generated one tooth with fillets, and then just replicated it 24 times, but then would have to merge the conical surfaces together.
Here’s the script if you want to play with it. Not for use in real-world engineering! Just for fun. ![]()






