2017-06-22 125 views
0

以下示例模型显示左侧具有某些单元属性的圆柱体。 “ModelFaceID”是定义模型的不同面的属性。面突出显示为不同的颜色在三维视图(右):如何更改ParaView中的单元格属性?

enter image description here

在电子表格中,我可以看到,每个单元都有一个特定的“ModelFaceID”,该小区分配给面中的一个:

enter image description here 现在,我想在一个只有一张脸的新模型中更改“ModelFaceID”。我想在3D视图中手动选择单元格,并分别更改“ModelFaceID”,以便为模型获得不同的面。不幸的是,我无法更改电子表格中的属性。 在这里,与我的新模型的图片。我选择了在3D视图(左)和电子表格(右)的细胞:

enter image description here

我怎样才能改变属性?我可以在ParaView中实现吗?你有什么想法,我可以使用其他工具?

您可以在这里找到缸例子(cylinder.vtp):Cylinder Example

回答

2

在我的Paraview将创建一个可编程滤波器,并创建一个新的单元格数据阵列:

polydata = output 
ids = [31,32] 
array = vtk.vtkIntArray() 
array.SetNumberOfComponents(0) 
array.SetName("NewModelFaceID") 
for i in range(polydata.GetNumberOfCells()): 
    if i in ids: 
     array.InsertNextValue(2) 
    else: 
     array.InsertNextValue(1) 
polydata.GetCellData().AddArray(array) 

根据this post有在可编程滤波器中从选择中获取单元ID没有简单的方法。你可以做的是使用ExtractSelection过滤器,并手动将单元ID复制到ids-list。我承认,不是很优雅。

相关问题