pyqt5+vtk(2):读取vtk文件并显示可交互

649 阅读1分钟

代码

# 加载几何模型
    def show_geometry(self):
        # 使用QSettings记录上次打开路径
        qSettings = QSettings()
        lastPath = qSettings.value("LastFilePath")
        # 文件选择器
        filename, _ = QFileDialog.getOpenFileName(
            self, '打开文件 - vtk文件', lastPath, '(*.vtk)')
        if filename:
            # 1.数据源:读取vtk文件
            self.original_model = vtk.vtkPolyDataReader()
            self.original_model.SetFileName(filename)
            self.original_model.Update()
            self.output_point()
            # 2.创建mapper,建图
            self.original_mapper = vtk.vtkPolyDataMapper()
            self.original_mapper.SetInputConnection(self.original_model.GetOutputPort())
            # 3.设置执行单元:演员
            self.original_actor = vtk.vtkActor()
            self.original_actor.SetMapper(self.original_mapper)
            self.original_actor.GetProperty().SetColor(0.5, 0.5, 0.5)
            # 4.渲染renderer
            self.renderer.AddActor(self.original_actor)
            self.renderer.ResetCamera()
            # 交互器初始化,否则需要点一下才能显示模型
            self.iren.Initialize()
            self.iren.Start()

结果

结果显示