Paraview python 中的 SaveData 未保存文件

SaveData in Paraview python is not saving the file

我用了一个stl文件,用Paraview分割了stl。我在 paraview 中使用 python trace 跟踪方法。

现在,我用python中的代码来运行了。它 运行 非常完美,但它不会根据需要保存分割后的网格。根据从 paraview 获得的跟踪使用代码。下面是使用 SaveData 保存文件的代码片段。如何保存stl文件?

import sys  #sys- append path
import numpy as np

ParaViewBuildPath = "/home/ParaView-5.7.0/"
sys.path.append(ParaViewBuildPath + "lib/") 
sys.path.append(ParaViewBuildPath + "lib/python3.7/site-packages")
sys.path.append(ParaViewBuildPath + "lib/python3.7/site-packages/vtkmodules")

from paraview.simple import *   
import vtk
# find source
mesh176_rightstl = FindSource('mesh176_right.stl')
generateSurfaceNormals1 = GenerateSurfaceNormals(Input=mesh176_rightstl)
# Properties modified on generateSurfaceNormals1
generateSurfaceNormals1.FeatureAngle = 15.0
# create a new 'Connectivity'
connectivity1 = Connectivity(Input=generateSurfaceNormals1)

# create a new 'Threshold' 
threshold1 = Threshold(Input=connectivity1)
#threshold1.Scalars = ['POINTS', 'RegionId']

# Properties modified on threshold1
threshold1.ThresholdRange = [10.0, 982.0]

# create a new 'Extract Surface'
extractSurface1 = ExtractSurface(Input=threshold1)

# save data
SaveData('surf176.stl', proxy=extractSurface1, FileType='Ascii')

我已经解决了我在“generateSurfaceNormals1”行遇到的错误。

[paraview]vtkDemandDrivenPipeline:713 ERR| vtkPVCompositeDataPipeline (0x556f782fe7c0): 算法vtkPPolyDataNormals(0x556f7a16b2a0)的输入端口0有0个连接但不是可选的。

如何克服这个错误?

任何潜在客户将不胜感激。

此致, Sunag R A.

错误信息的意思是mesh176_rightstl是None,所以FindSource没有找到任何东西。来源名称是否正确?数据是否正确加载?

由于出现错误,脚本停止且未调用 SaveData。但它的语法是正确的。

测试 stl 编写器的最少代码:

s = Sphere()
SaveData('sphere.stl', proxy = s, FileType='Ascii')

它使用 ParaView 5.9 正确生成 stl 文件

编辑

你应该取消注释行

#threshold1.Scalars = ['POINTS', 'RegionId']

因为直到您要求(例如使用 SaveData)才会执行管道,因此在您创建阈值时找不到默认数组。