问题描述
我使用Paraview 5.8.1,但我的问题适用于旧版本。
我想生成一个Python脚本来自动化我的可视化。我使用“跟踪记录器”工具记录在GUI中执行的操作并将其转换为 将导致相同结果的Python脚本。
但是此工具不能记录所有内容:例如,相机位置或方向轴的大小标注未转换,而确实存在用于保存此信息的Python函数。
有什么方法可以使跟踪记录器记录所有内容吗?
解决方法
简单答案:不。
ParaView使用属性机制。很多东西都是属性(滤镜参数,颜色设置等),可供记录。但是相机不是。当跟踪停止时,内部挂钩会在跟踪中添加最后一个摄像机。
您可以将其用作宏以在跟踪中添加当前摄像机:
from paraview import simple
from paraview import smtrace
smtrace.Trace.get_accessor(simple.GetActiveView())
camera_trace = smtrace.SaveCameras.get_trace(None)
if camera_trace:
a = smtrace.Trace.Output.append_separated(
"#### saving camera placements for all active views")
a = smtrace.Trace.Output.append_separated(camera_trace)
这就是说,我不确定会看到一个用例……如果您想查看场景的动画,则不能使用“跟踪”机制,而应该使用“动画视图”。