我想在加载了 vtk 的 .stl 模型上部分着色。
我在搜索这个时发现了一个类似的东西。
但它是为整个 .stl 模型着色。
以下是我想在 .stl 模型上更改的内容。
注意:您不必担心模型颜色以外的任何事情。
有什么好的方法可以解决我的问题吗?或者这是不可能的吗?
下面是整个代码的渲染部分:
class ModelRenderWindow(QtWidgets.QWidget):
def __init__(self):
super().__init__()
colors = vtk.vtkNamedColors()
stl_filename = 'savetostl.stl'
self.title = '3D Model Rendering ' + stl_filename
self.setWindowTitle(self.title)
self.frame = Qt.QFrame()
self.layout = Qt.QVBoxLayout()
# Read a .vtu file
reader = vtk.vtkSTLReader()
reader.SetFileName(stl_filename)
# Create a mapper
mapper = vtk.vtkPolyDataMapper() # use only for .STL file
mapper.SetInputConnection(reader.GetOutputPort())
# Create an actor
actor = vtk.vtkActor()
actor.SetMapper(mapper)
renderer = vtk.vtkRenderer()
renderer.AddActor(actor)
renderer.SetBackground(colors.GetColor3d('Wheat'))
renderer.ResetCamera()
self.frame.setLayout(self.layout) # set layout manager
# Create a renderer window interactor
interactor = vtk.QVTKRenderWindowInteractor(self.frame)
self.layout.addWidget(interactor)
interactor.GetRenderWindow().AddRenderer(renderer)
iren = interactor.GetRenderWindow().GetInteractor()
iren.Initialize()
self.setLayout(self.layout)
注意:我正在创建一个 pyqt 应用程序。