I have an old house with an old bathtub. Unfortunately, I also have old plumbing, so, I really want to keep hair and other debris out of the pipes where possible.
Here's my solution. I know there are a bajillion other similar solutions on Thinaverse, but this one is mine =)
My bathtub drain is 43mm diameter and there is a metal cross (very rudimentary trap) about 30mm down. Yours may differ, so, I've included the Fusion 360 file (.f3d) so you can modify to suit. It should be relatively easy to do. The file is clean and every step is editable.
The raised center portion serves a number of purposes; it makes for a handy place to pull it up from for cleaning, it stop hair flowing across it for better trapping, and the larger hole at the top improves drainage. Seems to work well so far.
I've printed the one photographed with 0.2mm layers and there is no infill to worry about. It was printed on the Prusa i3 MK3S with the Prusament Silver that comes with the printer.
When I sliced mine on Slic3r with default 0.2mm settings, there are very few if any areas of infill.
On my printer and with my Slic3r's gcode, this took 1h50m to print.