I have a good sized 3D printer that I use all the time, and love it. You can buy one to print small parts for less than $1000. Use PLA filament, not ABS, because PLA doesn't shrink and warp like ABS does. The better printers have a heated bed, and will use the larger diameter (3mm) printer filament. My printer takes an STL file as an input, which kicks out pretty easily from a lot of 3D CAD programs; I use Solidworks, but cheaper programs work too.
The printers lay down material in thin layers, so be prepared with your print to have lines or layers visible in it.