如何以编程方式校准 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 进行离线查看