以下示例模型显示了左侧具有一些单元属性的圆柱体。 “ModelFaceID”是定义模型的不同面的属性。面部在3D视图中以不同颜色突出显示(右):
在电子表格中,我可以看到每个单元格都有一个特定的“ModelFaceID”,它将单元格分配给其中一个面:
现在,我想在一个只有一个面孔的新模型中更改“ModelFaceID”。我想在3D视图中手动选择单元格并分别更改“ModelFaceID”,以便为模型获得不同的面。不幸的是,我无法更改电子表格中的属性。 这是我的新模特的照片。我在3D视图(左)和电子表格(右)中选择了单元格:
如何更改属性?我可以在ParaView中实现吗?您对我可以使用的其他工具有什么想法吗?
您可以在此处找到圆柱示例(cylinder.vtp):Cylinder Example
答案 0 :(得分:2)
在Paraview中,我将创建一个可编程过滤器并创建一个新的Cell Data Array:
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。我承认,不是很优雅。