更轻量级的解决方案是使用meshio(我编写的)。除了 numpy 之外,它没有必需的依赖项。安装
pip install meshio
并使用
读取文件import meshio
mesh = meshio.read("foo.vtu")
# mesh.points, mesh.cells, mesh.point_data, ...
您没有使用正确的阅读器,这是一个
.vtu
文件,您必须使用 vtkXMLUnstructuredGridReader
。
import vtk.vtk
# The source file
file_name = "path/to/your/file.vtu"
# Read the source file.
reader = vtk.vtkXMLUnstructuredGridReader()
reader.SetFileName(file_name)
reader.Update() # Needed because of GetScalarRange
output = reader.GetOutput()
potential = output.GetPointData().GetArray("potential")
之前的答案是正确的,但正确的导入是
import vtk