如何在python vtkPolyData模型中更改点的坐标?

2024-09-30 18:34:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我用vtk.vtkSTLReader()加载了一个stl文件,并希望在加载模型后更改特定点的位置数据,以便在显示stl时可以看到差异。你知道吗

仅指定新值不起作用:

SyntaxError: can't assign to function call (if I try to assign X Y and Z) or 'tuple' object does not support item assignment (if I try only to assign the X value)

这是我的密码:

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对象转换回vtkinp_obj,但是我很难找到通过这种方法的方法。还有,有没有更简单的方法?你知道吗

非常感谢!你知道吗

p.S.SetPointInsertPoint对我不起作用,这可能是关键所在


Tags: to数据方法objiffilenamereaderinp