There is a vtk exporter in pyNastran/op2/export_to_vtk. I think it supports non-sequential node ids. It's not great as it's confusing to me on how to handle spoints, complex results and mixed element types (e.g., shell/bar/rods) as well as transients. If ypu're familiar with how Paraview handles that sort of thing, I'd love to know.
I just use the pyNastran gui. It's pretty solid and is just vtk under the hood. It's no femap/patran, but it's decent. You can call it with `pynastrangui` on the command line.