Full threadalvern·[1] Openscad would be the first thing that comes to mind for this. Some random parameters or an evolutionary algorithm could produce some viable results.1 http://www.openscad.org/View on HN