OpenSCAD is an easy-to-learn parametric declarative module-generating programming language for CAD objects. We find it is very useful for auto-generating complex parts that would be difficult to draft by hand, and allows us to re-use other open libraries like gear-generators for 3D printing processes.
Example 3D printing project: