问题描述
我正在使用 Paraview 显示存储在 csv 文件中的测井信息。
加载 csv 数据文件并添加“表到点”过滤器后,我手动指定哪些列应用于 X 列、Y 列 和 Z 列(例如我在“X 列”中使用了一个名为“Easting”的列)。
有没有办法让这一步自动化?也许某种配置文件可以输入 Paraview 以指示列映射?
解决方法
你可以使用 python 宏来做到这一点。 ParaView 中的宏是 Python 脚本,您可以从工具栏中触发。
您可以使用这个来创建和配置 TableToPoints 过滤器(根据您的列名使用 modif):
#### import the simple module from the paraview
from paraview.simple import *
#### disable automatic camera reset on 'Show'
paraview.simple._DisableFirstRenderCameraReset()
# create a new 'Table To Points'
tableToPoints1 = TableToPoints(registrationName='TableToPoints1')
# configure column names
tableToPoints1.XColumn = 'y1'
tableToPoints1.YColumn = 'y2'
tableToPoints1.ZColumn = 'y26'
# get active view
spreadSheetView1 = GetActiveViewOrCreate('SpreadSheetView')
# show data in view
tableToPoints1Display = Show(tableToPoints1,spreadSheetView1,'SpreadSheetRepresentation')
# hide data in view
Hide(sineWavescsv,spreadSheetView1)
# update the view to ensure updated data information
spreadSheetView1.Update()
将其存储在您的磁盘上并转到菜单 Macros / Import new macro
请注意,您可以使用 Python Trace 轻松创建自己的:
- 菜单
Tools / Start Trace
(带有默认选项) - 执行您想稍后重播的操作(加载文件、创建过滤器、编辑颜色图等)
-
Tools / Stop Trace
。它会打开一个带有 Python 代码的编辑器,您可以将其另存为宏。 - 宏是工具栏中的一个新按钮。