OpenSCAD can load STLs and cut holes in them.