当前位置: 首页 > news >正文

【VTK】读取一个 STL 文件,并使用 Qt 显示出来,在 Windows 上使用 Visual Studio 配合 Qt 构建 VTK

知识不是单独的,一定是成体系的。更多我的个人总结和相关经验可查阅这个专栏:Visual Studio。

文章目录

  • `A.h`
  • `A.cpp`
  • Ref.

直接先把效果放出来,有需要就往下看。

在这里插入图片描述

A.h

// A.h
#pragma once#include <QtWidgets/QMainWindow>
#include "ui_A.h"#include <vtkSTLReader.h>
#include <vtkPolyDataMapper.h>
#include <vtkActor.h>
#include <vtkRenderer.h>
#include <vtkRenderWindow.h>
#include <vtkSmartPointer.h>
#include <vtkGenericOpenGLRenderWindow.h>class A : public QMainWindow
{Q_OBJECTpublic:A(QWidget* parent = nullptr);~A();private:Ui::AClass ui;void initVTK();
};

A.cpp

// A.cpp
#include "A.h"A::A(QWidget* parent): QMainWindow(parent)
{ui.setupUi(this);// 配置 VTK 的初始设置initVTK();
}A::~A()
{
}void A::initVTK()
{// 读取 STL 文件vtkSmartPointer<vtkSTLReader> reader = vtkSmartPointer<vtkSTLReader>::New();reader->SetFileName("skull_50.stl"); // 请替换为你的 STL 文件路径reader->Update();// 创建映射器和演员vtkSmartPointer<vtkPolyDataMapper> mapper = vtkSmartPointer<vtkPolyDataMapper>::New();mapper->SetInputConnection(reader->GetOutputPort());vtkSmartPointer<vtkActor> actor = vtkSmartPointer<vtkActor>::New();actor->SetMapper(mapper);// 创建渲染器vtkSmartPointer<vtkRenderer> renderer = vtkSmartPointer<vtkRenderer>::New();// 添加演员到渲染器renderer->AddActor(actor);// 创建渲染窗口和渲染窗口交互器vtkSmartPointer<vtkGenericOpenGLRenderWindow> renderWindow = vtkSmartPointer<vtkGenericOpenGLRenderWindow>::New();renderWindow->AddRenderer(renderer);// 添加到 qvtkWidget 控件中显示ui.qvtkWidget->setRenderWindow(renderWindow);// 开始渲染renderWindow->Render();
}

Ref.

  1. 骷髅3D打印3D模型
http://www.lryc.cn/news/104783.html

相关文章:

  • 数据结构--基础知识
  • 天工开物 #7 Rust 与 Java 程序的异步接口互操作
  • python实现视频转GIF动图(无水印,包含代码详解和.exe执行文件)
  • 一套AI+医疗模式的医院智慧导诊系统源码:springboot+redis+mybatis plus+mysql
  • Android 使用modbus协议与可能遇到的问题解决一览
  • Virtualbox虚拟机中Ubuntu忘记密码
  • isPresent()
  • DC.js教程_编程入门自学教程_菜鸟教程-免费教程分享
  • Qt应用开发(基础篇)——滑块类 Slider、ScrollBar、Dial
  • iOS的NSUserActivity
  • Android HTTP使用(详细版)
  • 【雕爷学编程】MicroPython动手做(25)——语音合成与语音识别
  • 前端开发:基于cypress的自动化实践
  • C++类和对象(下部曲)
  • 解决eclipse 打开报错 An error has occurred. See the log file null.
  • javascript学习
  • 基于SSM实现个人随笔分享平台:创作心灵,分享自我
  • 从零开始学Docker(二):启动第一个Docker容器
  • unity 鼠标事件
  • 【ChatGPT】相关解读
  • 【数据中台】DataX源码进行二开插件
  • 【数据结构与算法】基数排序
  • Java基础一(队列和堆栈)
  • 使用ansible playbook编写lnmp架构
  • 使用 TorchText 进行语言翻译
  • SpringBoot整合SSMP小demo
  • 51单片机--红外遥控
  • 【图像分类】CNN+Transformer结合系列.2
  • 用于毫米波天线的新型无卤素超低传输损耗多层电路板R-5410
  • java数据算法-汉诺塔