首页 > 解决方案 > 如何更改 python vtkPolyData 模型中点的坐标?

问题描述

我加载了一个stl文件,vtk.vtkSTLReader()并希望在加载模型后更改特定点的位置数据,以便在显示stl.

仅仅分配新值是行不通的:

SyntaxError:无法分配给函数调用(如果我尝试分配 XY 和 Z)或“元组”对象不支持项目分配(如果我尝试仅分配 X 值)

这是我的代码:

import vtk

filename = "C:/Users/.../test.stl"

# read inputfile
reader = vtk.vtkSTLReader()
reader.SetFileName(filename)
reader.Update()
inp_obj = reader.GetOutputDataObject(0)

# change  model
tst_pickedPnt0 = inp_obj.GetCell(1).GetPointIds().GetId(0)    

inp_obj.GetPoint(tst_pickedPnt0) = (10.0,10.0,10.0)

因此,可能有一种方法可以将所有点数据转换为numpy对象,对数据执行所需的操作,然后将numpy对象转换回vtk inp_obj,但我很难通过这种方法找到方法。另外,有没有更简单的方法?

非常感谢!

PSSetPoint并且InsertPoint不适合我,这可能是关键

标签: pythonnumpyvtk

解决方案


推荐阅读