如何更改 ParaView 中的单元格属性?

How to change cell properties in ParaView?

以下示例模型显示了一个圆柱体,左侧有一些单元格属性。 “ModelFaceID”是一个 属性,它定义了模型的不同面孔。 3D 视图中的面孔以不同颜色突出显示(右):

在电子表格上,我可以看到每个单元格都有一个特定的“ModelFaceID”,它将单元格分配给其中一个面孔:

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

如何更改 属性?我可以在 ParaView 中实现吗?您知道我可以使用哪个其他工具吗?

您可以在此处找到圆柱体示例 (cylinder.vtp):Cylinder Example

在 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 复制到 ID 列表。不是很优雅,我承认。