如何以编程方式校准 Autodesk forge 查看器?

Posted

技术标签:

【中文标题】如何以编程方式校准 Autodesk forge 查看器?【英文标题】:How to programmatically calibrate Autodesk forge viewer? 【发布时间】:2018-07-09 14:11:59 【问题描述】:

查看器的测量工具有校准工具。它要求用户在查看器中选择两个点并使用适当的单位定义距离。

我的计划是在我的模型中以固定距离定义点。我不需要用户输入。如何添加距离、单位和大小以便以编程方式设置校准?

编辑:解决方法。

我需要默认单位是米,它应该在模型上正确显示 1 米到 1 米,由测量工具测量。

暂时,我做的是——

我使用校准工具手动校准模型,通过选取模型中的两个已知点来计量。

然后我用它来获得比例因子 -

var measureExtension =NOP_VIEWER.getExtension('Autodesk.Measure')
var factor = measureExtension.getCalibrationFactor()

(我在浏览器的开发者控制台中使用了上述代码行,同时与查看器交互。)

这给了我这个价值因子 = 0.039369。 再次加载模型后,我将在我的代码中添加此比例因子

measureExtension.calibrateByScale('m', 0.039369)

这似乎解决了我随身携带的模型的问题。 我知道一旦我有一些具有不同默认单位的不同模型,这就会中断。如果有人有更好的解决方案,请告诉我。

【问题讨论】:

【参考方案1】:

我通过查看 viewer3D.js 源快速猜测:

var measureExt = viewer.getExtension('Autodesk.Measure')

// pick from available values:
// 'decimal-ft'
// 'ft-and-fractional-in'
// 'ft-and-decimal-in'
// 'decimal-in'
// 'fractional-in'
// 'm'
// 'cm'
// 'mm'
// 'm-and-cm'

measureExt.calibrate('decimal-in', 10)

【讨论】:

谢谢菲利普。我试过这个,它要求测量已经选择了两个点,以便将该距离映射到我们提供的大小。我不认为它独立工作。请检查我在答案中的编辑部分,了解我正在使用的解决方法。

以上是关于如何以编程方式校准 Autodesk forge 查看器?的主要内容,如果未能解决你的问题,请参考以下文章

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

Autodesk forge 和 CRM 365 之间如何集成?

将更改保存到Forge Autodesk Viewer

Autodesk forge(查看器)是不是支持空间功能

以角度创建 Autodesk Forge 查看器扩展时出错

如何以编程方式校准传感器,而不是手动设置 *#0*#?