用 pvpython 画过线
Plot Over Line with pvpython
下午好, 我正在尝试在 Python 脚本中使用 Paraview 的过滤器“Plot Over Line”。基本上,我想:
- 打开文件“.vtu”;
- 对速度使用过滤器 PlotOverLine;
- 将数据保存在“.csv”文件中。
在互联网上,我找到了一种可行的方法,但如果使用 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对应你动作的脚本