Peter put me onto this one. We are both fellow travelers along the 3D printing/design road, although we have taken slightly different routes. Peter likes OpenSCAD, and I tend to write Python programs inside FreeCAD. I think we've both followed a programming path because we tend to prefer writing programs to grappling with complicated graphical design packages.
Anyhoo, one of the major reasons that I prefer Python to write my designs is that as Python is a programming language it supports variables. You can use it to do things like print the weather forecast in 3D. But I must admit that the environment that I have to work in is pretty horrid, whereas the OpenSCAD one is quite nice. But in OpenSCAD all the values are fixed, so you can't do programming type things very easily. This is fine for parameterized drawings, but less good if you want your design program to figure things out for itself.
This is a very enticing proposition, and may well tempt me away from FreeCAD in the future.