我正在用python和VTK做一个项目。我成功地将三个STL文件与pythonstllibraray相结合。在那之后,我想象这个组合.stl在VTK中的文件如下:
stl_reader = vtk.vtkSTLReader()
stl_reader.SetFileName(PATH)
stl_mapper = vtk.vtkPolyDataMapper()
stl_mapper.SetInputConnection(stl_reader.GetOutputPort())
stl_actor = vtk.vtkActor()
stl_actor.SetMapper(stl_mapper)
...add actor on renderer, renderer on window etc.
到目前为止还不错。但现在我想给其中一个STL对象着色/高亮显示。(所有STL一起形成一个更大的对象,因此定位很重要,必须保持不变。所以整个过程需要在最后保持一个vtkActor。)
我觉得不可能在合并的STL文件中进行着色,因为合并后的文件无法跟踪原始对象(也许这里也有解决方案,如果我错了,请纠正我)。所以我想我需要一个不同的解决方案。在
我已经用这个CompositePolyDataMapper示例(https://lorensen.github.io/VTKExamples/site/Python/CompositeData/CompositePolyDataMapper/)尝试过了,但是我不知道如何从vtkSTLReader获取可以放入vtkmultiplockDataSet的对象。在
有人知道解决我问题的办法吗?在
提前谢谢你。在
好吧,我可以自己解决这个问题。 如果有人有类似的问题,解决办法很简单:
vtkAssembly类允许您向它添加参与者,如果您与它交互,它的工作方式就像一个actor。在
相关问题 更多 >
编程相关推荐