SolidWorksでキューブを作成し、それをSTLファイルにエクスポートしました(Teキューブは原点の右に50mmです)。次にVTKクラスvtkSTLReaderを使用してこのファイルを読み取り、レンダリングウィンドウでレンダリングしました。しかしVTKでは、プロップの世界座標を取得する方法は?
、私は関数GetPosition(と呼ばれる)、それは常に(0,0,0)を返されました。私の意見では、それは(50,0,0)でなければなりません。 The VTK class referenceは、この機能が「世界座標でProp3Dの位置を取得する」ことを説明しています。それは私を混乱させます。私はどこに問題があるのか分からない。
import vtk
sr = vtk.vtkSTLReader()
sr.SetFileName("cube.stl")
stlMapper = vtk.vtkPolyDataMapper()
stlMapper.SetInputConnection(sr.GetOutputPort())
stlActor = vtk.vtkLODActor()
stlActor.SetMapper(stlMapper)
# Create the Renderer, RenderWindow, and RenderWindowInteractor
ren = vtk.vtkRenderer()
renWin = vtk.vtkRenderWindow()
renWin.AddRenderer(ren)
iren = vtk.vtkRenderWindowInteractor()
iren.SetRenderWindow(renWin)
# Add the actors to the render; set the background and size
ren.AddActor(stlActor)
ren.SetBackground(0.1, 0.1, 0.1)
renWin.SetSize(500, 500)
print stlActor.GetPosition()
iren.Initialize()
renWin.Render()
iren.Start()