I have a door with one of those little pushbutton locks on the knob. This is the door to my office/workspace, and that door opens and closes a lot.
I have no door stop.
One of two infuriating things happens constantly (sometimes both):
1 - The door opens all of the way, and the button is depressed. The next time the door closes, it locks, usually with me on the outside. I then have to track down something to prod the little latch through a tiny hole on the outside of the doorknob.
2 - The button lock on the doorknob puts a stupid dent in my wall.
I looked on thingiverse for a fix to this for a while, and I'm apparently not smart enough to find the correct combination of keywords to produce a result... so I modeled up something I'd seen many times before... a flush mount wall bumper.
For the bumper, it's really going to depend on what filament you use and how ... bumper-y you want it to be. I wanted a little bit of squish to it, so I used sainsmart's flexible filament, and had a 30% infill. If you don't care about a nice soft landing for your doorknob, you can go with more infill, or a different filament.
For the mount, it's not critical to use a high level of infill at all. It's really more for aesthetic purposes than anything. I had this at 50% infill to give it a little more rigidity.
I designed this to be printed with a flexible filament bumper, and a non-flexible filament mount. As such, the tolerances are basically zero. A flex bumper will snap into the mount with a little wiggling, and it will hold super tight that way. If you print these both in the same material, you're probably going to find that the bumper doesn't fit nicely into the mount. The nice thing here is that you can easily scale that mount up 5% or so, and it'll still work just fine (maybe won't have as nice a finish... but it'll work).
I measured the diameter and depth of the door lock button, and then rounded up a few mm to a number that I felt emotionally complacent with. I then made some shapes in autodesk 123d, and made some other shapes... modifying the shapes to make other shapes. In the end, I had some shapes.