在vtk.js中stl和json的互相转化
Updated:
stl 如何转为 json
import vtkSTLReader from '@kitware/vtk.js/IO/Geometry/STLReader';
const getStlModelFromPath = async (path: string) => { const response = await fetch(path); const stlArrayBuffer = await response.arrayBuffer();
const stlReader = vtkSTLReader.newInstance(); stlReader.parseAsArrayBuffer(stlArrayBuffer);
const polyData = stlReader.getOutputData(); return polyData;};
const stlPath = '/path/to/your/model.stl';const polyData = await getStlModelFromPath(stlPath);const jsonData = polyData.toJSON();
json 如何转为 stl
import modelJSON from './model.json';
const convertPolyDataJSONToStl = (polyDataJSON: string, fileName: string = 'model.stl') => { const polyData = vtkPolyData.newInstance(polyDataJSON); const writer = vtkSTLWriter.newInstance();
writer.setInputData(polyData); const fileContents = writer.getOutputData();
// Create a blob and download link const blob = new Blob([fileContents], { type: 'application/octet-stream' }); const a = window.document.createElement('a'); a.href = window.URL.createObjectURL(blob); a.download = fileName;
// Trigger download document.body.appendChild(a); a.click(); document.body.removeChild(a); window.URL.revokeObjectURL(a.href);};
convertPolyDataJSONToStl(modelJSON);
感谢阅读到这里,期待收到更多的反馈
欢迎关注公众号
kazoottt
