用 pvpython 画过线

Plot Over Line with pvpython

下午好, 我正在尝试在 Python 脚本中使用 Paraview 的过滤器“Plot Over Line”。基本上,我想:

在互联网上,我找到了一种可行的方法,但如果使用 pvpython 运行 会出错(即使在命令前使用“简单”一词):

from paraview import simple
import csv

flow = GetActiveSource()

plotOverLine1 = PlotOverLine(Input=flow, Source='High Resolution Line Source')

passArrays1 = PassArrays(Input=plotOverLine1)
passArrays1.PointDataArrays = ['U']

plotOverLine1.Source.Point1 = [0, 0, 0]
plotOverLine1.Source.Point2 = [0, 0.4, 0]
writer = CreateWriter('data.csv')
writer.UpdatePipeline()

首先,您可以在这里报告错误。

正如您所建议的,您的脚本无法按原样运行,您应该将导入更改为 from paraview.simple import *

此外,您的作者没有明确的输入。我建议使用 CreateWriter(filename='path', input=myInput),或者一次性写入 SaveData(filename='path', input=myInput)

最后,生成此类脚本的一种方法是使用 Tools / Start Trace 菜单选项(使用默认配置)。然后在界面中执行操作。最后Tools / Stop Trace给你python对应你动作的脚本