如何在 Forge 查看器中使用 svf 文件计算面积和体积

Posted

技术标签:

【中文标题】如何在 Forge 查看器中使用 svf 文件计算面积和体积【英文标题】:how to calculate area and volume using svf file in forge viewer 【发布时间】:2017-12-15 11:44:42 【问题描述】:

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

var 可见 = Autodesk.Viewing.Document.getSubItemsWithProperties(doc.getRootItem(), 'type':'geometry', true);

我试试这个,不是 THREE.js 的几何,而是伪造查看器的。不能用来计算。

【问题讨论】:

THREE.js 也没有计算体积和面积的 API (AFAIK),所以我不太确定你的方法是什么。任何可从其他 SO 答案中轻松获得的用于此目的的代码都应适用于任何基于三角形的几何,因此,如果您能找出应该可行的 Forge 几何格式。 【参考方案1】:

为这个坏消息道歉,据我所知,在 Forge Viewer 中没有可用于计算面积或体积的 API,但您可以自己解决一些问题。

将 Forge 片段转换为THREE.Mesh,您可以检查here、here 和here。面积计算可以参考Autodesk.Viewing.Extensions.Measure.Snapper.prototype.snapping3DAutodesk.Viewing.Extensions.Measure.MeasureTool.prototype.getFaceArea中Forge Viewer的部分代码。

希望对您有所帮助。

【讨论】:

Tks,我的问题在你这里、这里和这里的帮助下得到了解决。还有一个,***.com/questions/23279521/…>,非常感谢。

以上是关于如何在 Forge 查看器中使用 svf 文件计算面积和体积的主要内容,如果未能解决你的问题,请参考以下文章

如何下载 SVG/SVF 以使用 Autodesk Model Forge API 进行离线查看

Autodesk Forge 设计自动化/模型衍生 API - 查看器缓存 svf 文件

Autodesk Forge 查看器:直接加载 SVF?

无法在 Autodesk Forge Viewer 中加载 SVF2 模型

如何在 C#/.Net 中使用 Forge 将 .SVF 文件转换为 .GLTF

AutoCAD 自定义属性转换为 svf 并由 Forge 查看器读取