vtk qt切割stl模型

发布时间:2024年01月15日

一直想实现对stl模型的某个方向进行平面切割
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
通过滑动slider然后对模型进行某一个方向的面切割。同时可以用鼠标对模型进行移动缩放,旋转等操作。然后可以加一些颜色点云显示等操作。
stl加载:

	QString selectFilePath = QFileDialog::getOpenFileName(this, QString("choose STL file"), QString(""), QString("file(*.stl)"));
	if (selectFilePath.isEmpty())
	{
		ui.textBrowser->append("The address of the STL file you choose is null!");
		return;
	}

	// 原始图像
	reader = vtkSmartPointer<vtkSTLReader>::New();
	reader->SetFileName(selectFilePath.toStdString().c_str());
	reader->Update();

	//将source转换成mapper
	mapper = vtkSmartPointer<vtkPolyDataMapper>::New();
	mapper->SetInputConnection(reader->GetOutputPort());

	//送入渲染引擎进行显示
	actor = vtkSmartPointer<vtkActor>::New();
	actor->SetMapper(mapper);

	//渲染
	renderer = vtkSmartPointer<vtkRenderer>::New();
	renderer->AddActor(actor);
	renderer->SetBackground(.0, .0, .0);

	//设置渲染窗口
	vtkSmartPointer<vtkRenderWindow> window = vtkSmartPointer<vtkRenderWindow>::New();
	ui.qvtkWidget->SetRenderWindow(window);
	ui.qvtkWidget->GetRenderWindow()->AddRenderer(renderer);

	//ok
	ui.textBrowser->append(QString("upload the file:") + selectFilePath + QString(" succeed !"));
文章来源:https://blog.csdn.net/weixin_48657573/article/details/135601262
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。