首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Paraview:从集成变量中获取点数据

Paraview:从集成变量中获取点数据
EN

Stack Overflow用户
提问于 2018-01-03 06:21:31
回答 1查看 1.6K关注 0票数 3

使用Python与Paraview接口,我想从一个集成变量过滤器中获取“点”数据。

我尝试了GetArray("Points"),但它找不到它,即使你可以在图形用户界面中清楚地看到它,如果你转到电子表格视图。

我的代码如下。对于我使用的GUI方法,对于Point ID =0,数组"Points“有三个值(0.54475,-1.27142e-18,4.23808e-19),这是有意义的,因为默认箭头在y和z上是对称的。

有没有办法在python中获得值0.54475?

MWE

代码语言:javascript
代码运行次数:0
运行
复制
#Import Paraview Libraries
#import sys
#sys.path.append('Path\\To\\Paraview\\bin\\Lib\\site-packages')
from paraview.simple import *
#### disable automatic camera reset on 'Show'
paraview.simple._DisableFirstRenderCameraReset()
# create a new 'Arrow'
arrow1 = Arrow()
# create a new 'Integrate Variables'
integrateVariables1 = IntegrateVariables(Input=arrow1)
pdata = paraview.servermanager.Fetch(integrateVariables1).GetPointData()

print pdata.GetArray("Points") # prints None
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-03 08:40:08

你已经很接近了。对于所有其他数组,可以使用所编写的方法访问值。

但是,VTK对点坐标的处理略有不同,因此点坐标所需的代码为:

代码语言:javascript
代码运行次数:0
运行
复制
arrow1 = Arrow()
integrateVariables1 = IntegrateVariables(Input=arrow1)
integrated_filter = paraview.servermanager.Fetch(integrateVariables1)
print integrated_filter.GetPoint(0)

这给我:(0.5447500348091125,-1.2714243711743785e-18,4.238081064918634e-19)

我还建议您可以在Python可编程过滤器中执行此操作。将筛选器从服务器传递回客户端不是最佳实践,最好在服务器上进行所有计算。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48068641

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档