Paraview:NameError:未定义名称“inputs”

2024-10-02 22:34:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试使用Python在Paraview中创建一个ProgrammableFilter。过滤器应该获取当前选择的点并对其进行计数(过滤器将更加详细,但这足以解释我的问题)。在

在我的代码中,我没有使用任何名为“inputs”的变量,但是当我执行它时,我得到了这个输出(注意,结尾有一个错误,代码似乎执行了两次):

Generated random int: 13 using time 1419991906.3
13 Execution start
13 Selection is active

Generated random int: 59 using time 1419991906.34
59 Execution start
59 No selection is active
59 Execution end

13 Extr_Sel_raw was not None
13 Number of cells: 44
13 Execution end

Traceback (most recent call last):
  File "<string>", line 22, in <module>
NameError: name 'inputs' is not defined

代码如下,我的管道有两个步骤,第一步是“球体源”,第二步是使用此代码的ProgrammableFilter:

^{pr2}$

你知道是什么引起了我的问题吗?在


Tags: 代码过滤器timeisnotrandomstartgenerated
1条回答
网友
1楼 · 发布于 2024-10-02 22:34:23

经过一些工作,我发现了如何在Paraview中访问所选的点,而不产生上面提到的奇怪错误。在

代码如下:

import paraview
import paraview.simple

proxy = paraview.simple.GetActiveSource()

if proxy is None:
    print "Proxy is None" 
    return

active_selection = proxy.GetSelectionInput(proxy.Port)

if active_selection is None:
    print "No selection is active" 
    return

print "Selected points: %s" % (active_selection.IDs)
print "Amount of points: %s" % (len(active_selection.IDs) / 2)

这是在球体源中选择6个点的输出:

^{pr2}$

您可以看到,每个选定的点生成两个ID,第一个是“进程ID”,第二个是点的实际ID。在

不管怎样,最初的错误的原因我还是不清楚。在

相关问题 更多 >