知識不是單獨的,一定是成體系的。更多我的個人總結(jié)和相關(guān)經(jīng)驗可查閱這個專欄:Visual Studio。
直接先把效果放出來,有需要就往下看。文章來源:http://www.zghlxwxcb.cn/news/detail-621668.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-621668.html
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_OBJECT
public:
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 的初始設(shè)置
initVTK();
}
A::~A()
{
}
void A::initVTK()
{
// 讀取 STL 文件
vtkSmartPointer<vtkSTLReader> reader = vtkSmartPointer<vtkSTLReader>::New();
reader->SetFileName("skull_50.stl"); // 請?zhí)鎿Q為你的 STL 文件路徑
reader->Update();
// 創(chuàng)建映射器和演員
vtkSmartPointer<vtkPolyDataMapper> mapper = vtkSmartPointer<vtkPolyDataMapper>::New();
mapper->SetInputConnection(reader->GetOutputPort());
vtkSmartPointer<vtkActor> actor = vtkSmartPointer<vtkActor>::New();
actor->SetMapper(mapper);
// 創(chuàng)建渲染器
vtkSmartPointer<vtkRenderer> renderer = vtkSmartPointer<vtkRenderer>::New();
// 添加演員到渲染器
renderer->AddActor(actor);
// 創(chuàng)建渲染窗口和渲染窗口交互器
vtkSmartPointer<vtkGenericOpenGLRenderWindow> renderWindow = vtkSmartPointer<vtkGenericOpenGLRenderWindow>::New();
renderWindow->AddRenderer(renderer);
// 添加到 qvtkWidget 控件中顯示
ui.qvtkWidget->setRenderWindow(renderWindow);
// 開始渲染
renderWindow->Render();
}
Ref.
- 骷髏3D打印3D模型
到了這里,關(guān)于【VTK】讀取一個 STL 文件,并使用 Qt 顯示出來,在 Windows 上使用 Visual Studio 配合 Qt 構(gòu)建 VTK的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!