I learnt that this was quite difficult using Pymol, however, using Chimera (I use version 1.14) this task became rather simple!
Download UCSF Chimera for free at their website. It's a small simple program similar to Pymol, even though I normally prefer Pymol over Chimera.
From Chimera's starting interface, you can directly fetch any PDB structure (other databases are also available), or you can choose your own local .pdb/.cif (or similar) files.
Then in the "Actions" menu, you choose whether Atom/Bonds, Ribbon, Surface should be hidden or shown. For standard ABS printing, I found that surface models worked the best.
When you are happy with the result, click on "File" → "Export scene" and choose file type STL. Then all you need to do is to run this STL file through a slicer and export to your printing device.
PyMol can give great models for 3D printing. Simply increase the quality of the representations, for example by tweaking sphere_quality, cartoon_oval_quality, stick_quality, surface_quality, and so on. If you don't change these settings, the standard representations optimised for screen viewings will not be watertight, and will lead to prints containing visible holes. After optimising these settings, select "Export Image As", "STL"
Here are some settings that worked for me:
# generally I don't print hydrogens and solvent molecules
hide everything
remove hydrogens
remove solvent
# sphere settings
show spheres, SELN # replace SELN with your chosen selection name or "all"
set sphere_scale, 0.7, (all)
# set spheres to render triangles, so that viewing represents the exported file