#include <vtkTransform.h>
#include <vtkTransformPolyDataFilter.h>
#include <vtkPolyDataWriter.h>
#include <vtkSTLWriter.h>
int main(int argc, char* argv[])
{
// 创建 STL 读取器
vtkSmartPointer<vtkSTLReader> reader = vtkSmartPointer<vtkSTLReader>::New();
reader->SetFileName("E:/2222/EndToolAligned-without-needle-compressed.stl");
reader->Update();
// 创建变换器并设置单位转换矩阵
vtkSmartPointer<vtkTransform> transform = vtkSmartPointer<vtkTransform>::New();
transform->Scale(0.001, 0.001, 0.001); // 将单位从米转换为毫米
// 创建变换过滤器并将变换器设置为输入
vtkSmartPointer<vtkTransformPolyDataFilter> filter = vtkSmartPointer<vtkTransformPolyDataFilter>::New();
filter->SetInputConnection(reader->GetOutputPort());
filter->SetTransform(transform);
filter->Update();
vtkSmartPointer<vtkSTLWriter> writer = vtkSmartPointer<vtkSTLWriter>::New();
writer->SetFileName("E:/2222/EndToolAligned-without-needle-compressed_m.stl");
writer->SetInputData(filter->GetOutput());
writer->SetFileTypeToBinary();
writer->Write();
return 0;
}
stl mm转成mm
于 2023-08-28 16:59:37 首次发布