Blender and openscad are the two I've found. openscad builds objects using scripts and other source files. Blender is more of a 3d design tool and is probably what I'll get into more once I get a printer. It has so many modes and capabilities that it's rather daunting but there are at least a few video tutorials on using Blender for 3d print modelling.