Я загрузил файл stl
с помощью vtk.vtkSTLReader()
и хочу изменить данные положения определенных точек после загрузки модели, чтобы различия были видны при отображении stl
.
Простоназначение новых значений не работает:
SyntaxError: невозможно назначить вызов функции (если я пытаюсь назначить XY и Z), или объект 'tuple' не поддерживает назначение элемента (если я пытаюсь толькочтобы присвоить значение 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
, но мне трудно найти способ пройти через эту методологию.Кроме того, есть ли более простой способ?
Большое спасибо!
PS SetPoint
и InsertPoint
не работают для меня, что, возможно, является ключевым здесь