Autodesk Forge View Cube
Posted
技术标签:
【中文标题】Autodesk Forge View Cube【英文标题】: 【发布时间】:2020-06-13 21:44:24 【问题描述】:我有一个 forge 查看器的标记扩展,我想用标记 svg 中的坐标更改模型位置。我已经得到了坐标并试图改变,但没有。
我用这段代码得到了坐标
let svg = document.querySelector('svg');
let box = svg.getAttribute('viewBox').split(' ');
并试图用这个改变位置
viewer.autocam.camera.position.setX(parseFloat(box[0]));
viewer.autocam.camera.position.setY(parseFloat(box[1]));
viewer.autocam.camera.position.setZ(parseFloat(box[2]));
【问题讨论】:
【参考方案1】:您的代码正在更改相机的位置...您是要更改模型的位置还是相机的位置? ...
要更改相机的位置,请尝试navigation.setView
:
const position = new THREE.vector3(x,y,z)
const target = NOP_VIEWER.navigation.getTarget()
viewer.nativation.setView(position, target)
编辑
要翻译(移动)整个模型,请尝试翻译所有片段:
const total = NOP_VIEWER.model.getInstanceTree().fragList.length //fragment is 0 indexed and increments by 1 so basically iterate from 0 to length -1
//...
for (int i=0,i<total,i++)
const fragProxy = NOP_VIEWER.impl.getFragmentProxy(NOP_VIEWER.model,i);
const position = new THREE.Vector3(
target.x - fragProxy.offset.x,
target.y - fragProxy.offset.y,
target.z - fragProxy.offset.z);
fragProxy.position = position;
fragProxy.updateAnimTransform();
viewer.impl.sceneUpdated(true);
查看此示例here 了解更多详情。
【讨论】:
不,我尝试更改模型的位置,但是我从标记 svg 获得的位置。我该怎么做? 非常感谢!!以上是关于Autodesk Forge View Cube的主要内容,如果未能解决你的问题,请参考以下文章
Autodesk Forge 模型衍生 API:在 Autodesk Forge 衍生子项中找不到“图形”角色