I love designing functional models for 3D printing with Blender. I know it’s not a common choice and CAD software is usually preferred, and I have tested many but none has offered me the flexibility and speed of Blender for my projects.
One issue that I always had was generating gears and bolts. Of course there have always been plugins for that, but once the geometry is generated there is no way to adjust the parameters which is a often a deal breaker.
With Blender 3 and its geometry nodes, there was finally the opportunity to generate all these elements procedurally, and I was surprised to find only very basic gear models with straight extrusions while I wanted spur gears with involute profiles.
I quickly realized the reason: the equations were not trivial to implement as geometry nodes, and documentation was hard to find. I mainly relied on the source code of python library py_gear_gen and made a reusable implementation.
For now it can only generate spur gears, but the hard part is done and if there is interest I may expand the node to other gear profiles such as Herringbone, or inside-facing teeth.
The geometry node can be appended directly from the following file which is in the public domain (CC0), if there is interest I may clean it up further or provide a plugin.
Another 10$ addon, which has a non-involute profile
Tool that generates python code (but not procedural)