【问题标题】:Forge Viewer API: Bounding box for a specific elementForge Viewer API:特定元素的边界框
【发布时间】:2018-12-04 17:04:21
【问题描述】:
我正在使用以下方法来确定特定元素的边界框:
MyViewer.select( [dbId]); var box = MyViewer.utilities.getBoundingBox();
这可行,但我想知道是否有一个直接函数可以执行此操作(类似于 getBulkProperties 的工作方式),尤其是当我在循环中运行大量 dbId 时。
我还发现我可以通过查找元素的片段列表并计算每个片段的边界框来计算元素的边界框。那是更多的工作。
谢谢
班杜
【问题讨论】:
标签:
javascript
autodesk-forge
【解决方案1】:
@班杜,
我没有找到更直接的方法,但也许下面的代码功能可以使用?
function getModifiedWorldBoundingBox (fragIds) {
//fragments list array
var fragList = NOP_VIEWER.model.getFragmentList();
const fragbBox = new THREE.Box3()
const nodebBox = new THREE.Box3()
fragIds.forEach(function(fragId) {
fragList.getWorldBounds(fragId, fragbBox)
nodebBox.union(fragbBox)
})
return nodebBox
}