如何在 Forge Viewer 中使用 SVF 文件计算面积和体积

how to calculate area and volume using svf file in forge viewer

我需要计算 3D 文件的体积和表面面积。由于 forge api 可以将各种 3D 文件转换为 svf 格式,所以如果我可以从 svf 格式文件计算面积和体积,那么我的程序可以处理 forge api 支持的所有格式的 3D 文件。但是 forge viewer 没有 api 来计算面积和体积。因为forge viewer是基于THREE.js的,所以我猜能不能用THREE.js的api来计算体积和面积。我阅读了 forge 查看器的 api,但是没有 api 从 forge 视图中获取 THREE.js 的几何图形。

var viewables = Autodesk.Viewing.Document.getSubItemsWithProperties(doc.getRootItem(), {'type':'geometry'}, true);

我试试这个,它不是 THREE.js 的几何,而是伪造观众的。不能用来计算。

对这个坏消息表示歉意,据我所知,在 Forge Viewer 中没有 API 可用于计算面积或体积,但你自己做了一些解决方法。

将Forge碎片转换成THREE.Mesh,可以查看, and here。面积计算可以参考Autodesk.Viewing.Extensions.Measure.Snapper.prototype.snapping3DAutodesk.Viewing.Extensions.Measure.MeasureTool.prototype.getFaceArea中Forge Viewer的部分代码。

希望对您有所帮助。