I was printing pulleys and gears, see
here,
here and
here.
Parametric designs (using OpenSCAD) are a good way to go, especially because it is easy to taka care of details like tolerances where needed... And printer settings are also VERY important... Once I even needed to alter the design to get desired outcome on my printer.