A week ago (2023 Jan 8), I bought a large metal flat file at the UCSC surplus store to store my maps and posters. The 5-drawer 3′ × 4′ black box is rather ugly, but it did hold all my posters and all but the largest of my topo maps, and it only cost me $75.
One problem that quickly became apparent was that the top corners of the box were sharp and right at knee level, posing a hazard to clumsy people like us. I had the clever idea to 3D-print some big spheres to put on the top front corners, so that our knees would be safe. The first model was just a 90mm diameter sphere, with a cubical cutout (leaving about 4mm of the sphere over the point of the cube):
The model was very easy to specify in OpenSCAD (though I wasted a lot of time getting the right rotation to print it so that the 3 “petals” were all symmetrically placed on build platform).
Once I had printed one of the corner protectors, I placed it on the flat file and realized that I had made a stupid mistake—the protector overlapped the top drawer, so that the drawer would not be openable with the protector in place.
To solve the problem of blocking the top drawer, I made another cutout to make room for the drawer to slide out. I decided not to match the top and side dimensions exactly (that would have required two mirror image balls), but just to make the clearance large enough that the same design would work on both sides.
Here is the finished corner protector, viewed from the front. It was printed in Hatchbox PLA at 0.3mm/layer with 15% gyroid fill and only 2 sidewalls. You can see the smooth spot on the front where the piece sat on the glass bed of the printer.
The two spheres were glued onto the box with a tiny amount of contact cement at the corner—enough to keep them from getting knocked off accidentally, but so little glue that they should be easily removed if desired. The corner protectors are ugly, but so is the flat file—at least this way we are not likely to injure ourselves on it, and the top of the flat file provides a good flat surface for some of the baskets and stuff that were cluttering up the floor.
The OpenSCAD code for the model is very simple:
diam=90; // diameter of sphere
thinnest = 4; // thickess over point of cube
displace = (diam/2-thinnest)/sqrt(3); // how far to move cube
edge = 21; // how much to leave on side that is notched
difference()
{ sphere(d=diam, $fa=0.5);
translate(displace*[-1,-1,-1]) cube(2*diam); // pocket for corner
translate(displace*[-1,-1,-1] + [edge,edge, -diam]) cube(3*diam); //notch
}