func InvoluteGear(
numberTeeth int, // number of gear teeth
gearModule float64, // pitch circle diameter / number of gear teeth
pressureAngle float64, // gear pressure angle (radians)
backlash float64, // backlash expressed as per-tooth distance at pitch circumference
clearance float64, // additional root clearance
ringWidth float64, // width of ring wall (from root circle)
facets int, // number of facets for involute flank
)
https://github.com/deadsy/sdfx
In general I like to write code to define objects, but there are some situations where a graphical editing UI would be nice. ie- Curve and polygon design.
You can sort of imagine a hybrid approach where you could crack open a mini editor to design a curve and then use it to generate code (table of numbers) which you could then extrude/sweep/loft or whatever.