'Vertex normals look different in PyVista and Blender

I'm working with a mesh of a cave, and have manually set all the face normals to be 'correct' (all faces facing outside) using Blender (Edit mode-> choose faces -> flip normal). I also visualised the vertex normals in Blender, and they are all pointed outwards all through the surface:

Blender normals of cave scan

The mesh is then exported as an STL file.

Now, however, when I visualise the same thing in Pyvista with the following code:

import pyvista as pv
cave = pv.read("data/OC_wellsliced.stl")
cave.plot_normals()

The normals point in very different (below), and sometimes opposite directions. Any help in understanding this discrepancy would be greatly appreciated!

screenshot from pyvista showing normal vector plot with a bunch of them pointing inward

The OC_wellsliced.stl STL file is here.



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source