numpy 我可以自己为vtkPoint分配ID吗?

qvk1mo1f  于 2023-02-16  发布在  其他
关注(0)|答案(1)|浏览(107)

我想用Python从FE数据创建一个VTK非结构化网格。
我在np.Array中有节点/点和它们的ID。现在我可以用它写一个VTK文件并保留FE模型分配的ID吗?
我需要一个可以分配任何ID的VTK点。
示例:

points = np.array([
    [0.0, 0.0, 0.0],
    [1.0, 0.0, 0.0],
    [1.0, 1.0, 0.0],
    [0.0, 1.0, 0.0],
    [0.0, 0.0, 1.0],
    [1.0, 0.0, 1.0],
    [1.0, 1.0, 1.0],
    [0.0, 1.0, 1.0]
])

ids = np.array([10, 21, 22, 23, 34, 15, 36, 7])

谢谢你的帮助。
当我尝试使用vtk.SetPoint时,我得到以下错误:* * 数值错误:应为0〈= id && id〈获取点数()**

oxiaedzo

oxiaedzo1#

VTK中,id表示“数组列表中的索引”,因此它总是遵循错误消息中显示的约束。
要跟踪初始id,可以创建一个PointData数组:

ugrid.Points = points
ugrid.PointData.append(ids, "originalIds")

请参阅一些文档here

相关问题