Here is an openSCAD program to print buttons.
Current buttons are rather uniform. They have flat backs, a raised rim on the front, and four holes. This openSCAD program has input parameters that allow one to chose the diameter of the button, its thickness, the size and thickness of the rim and the placement of the four holes. Most missing buttons should be printable.
The minimum diameter of a button that prints reasonably well is about 10 mm. On my Replicator the spaces between holes are filled in best when small buttons are printed directly on the build surface without shells. Larger buttons are easier to print. Jacket and sport coat buttons are often 20 to 25 mm in diameter. The image at the left shows buttons with diameters from 10 to 40 mm.