Как изменить координаты точки в модели python vtkPolyData? - PullRequest
0 голосов
/ 19 февраля 2019

Я загрузил файл 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 не работают для меня, что, возможно, является ключевым здесь

...