在ParaView中通过Python脚本保存动画

3
我将尝试通过Python脚本在ParaView中保存一个.avi动画。我的脚本可以工作,但是动画只对应于一个稳定的帧。为了获得包含ParaView模型所有10个帧的动画,我需要更改什么?以下是我的脚本(movie.py):
from paraview.simple import *
movie = servermanager.animation.AnimationScene()
movie.ViewModules = [GetActiveView()]
movie.NumberOfFrames = 10
movie_writer = servermanager.vtkSMAnimationSceneImageWriter()
movie_writer.SetFileName("/Users/wbr/Desktop/movie.avi")
movie_writer.SetFrameRate(1)
movie_writer.SetQuality(2)
movie_writer.SetAnimationScene(movie.SMProxy)
movie_writer.Save()
3个回答

0

使用ParaView 4.2(RC1),当我生成保存动画的Python跟踪操作时,这是我得到的脚本。

#### import the simple module from the paraview
from paraview.simple import *

# save animation images/movie
WriteAnimation('/tmp/movie.ogv', Magnification=1, FrameRate=15.0, Compression=True)

你如何在ParaView中跟踪操作?我目前正在尝试通过编程方式选择点并随时间绘制它们。我从.psvm(状态文件)中得到了一些提示,但仅当知道点ID时才有效。在我的情况下,我正在尝试根据坐标选择一个点。 - Wbr
打开 Paraview > 工具 > 启动跟踪 > 接受默认值 > 执行你需要的操作 > 停止跟踪 > 在脚本编辑器中调查代码 - user32882

0

最新版本(白色背景电影):

from paraview.simple import *
viewModel = GetActiveView()
viewModel.Background = [1,1,1]
Show()
Render()
paraview.simple.WriteAnimation(filename="/Users/wilsondasilva/Desktop/movie.avi",FrameRate=15.0)

0

这是我找到的以编程方式导出ParaView动画的解决方案:

reader = GetActiveSource()
view = GetActiveView()
AnimateReader(reader,view,filename="../movie.avi")

唯一的问题是我无法设置帧速率。有什么建议吗?

甚至更好(更容易):paraview.simple.WriteAnimation(filename, **params),请查看:http://www.paraview.org/ParaView3/Doc/Nightly/www/py-doc/paraview.simple.html - Wbr

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接