我在SolidWorks中创建了一个立方体并将其导出到STL文件中(Te立方体位于原点右侧50毫米处)然后我使用VTK类vtkSTLReader读取该文件并将其渲染到渲染窗口中。在VTK中,如何获取Prop的世界坐标?
然而,当我调用的函数为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()