我知道您可以将不同数据文件类型的读取器添加到paraview中,但是,所有人都在谈论在c ++中做很多VTK东西,以及(可能更糟)重新编译paraview以使其了解您的数据文件格式。另一方面,paraview还支持python中的脚本编写。也许是因为我对VTK不熟悉,但是对我来说,我只能从pvpython 操作 VTK对象。有什么方法可以使用pvpython动态地将阅读器添加到paraview中?
我在我的 Ubuntu 18.04 系统上安装了 paraview 5.6,我想编写一个 python 脚本来显示一个 vtkUnstructuredGrid。
import numpy as np
from paraview.simple import *
import paraview.vtk as vtk
from paraview.vtk.numpy_interface import dataset_adapter as dsa
import paraview.vtk.util.numpy_support as vnp
node = np.array(
[[0.0, 0.0, 0.0],
[1.0, 0.0, 0.0],
[1.0, 1.0, 0.0],
[0.0, 1.0, 0.0]], dtype=np.float)
cell = np.array([[3, 1, 2, 0], [3, 3, 0, 2]], dtype=np.int)
NC = cell.shape[0]
points = vtk.vtkPoints()
points.SetData(vnp.numpy_to_vtk(node))
cells = vtk.vtkCellArray()
cells.SetCells(NC, vnp.numpy_to_vtkIdTypeArray(cell))
uGrid =vtk.vtkUnstructuredGrid()
uGrid.SetPoints(points)
uGrid.SetCells(vtk.VTK_TRIANGLE, cells)
# how to put uGrid …Run Code Online (Sandbox Code Playgroud)