Autodesk forge Autodesk Forge View Cube
我有一个forge viewer的标记扩展,我想用标记svg中的坐标来更改模型的位置。我已经得到了坐标并试图改变,但什么都没有 我得到了这个代码的坐标Autodesk forge Autodesk Forge View Cube,autodesk-forge,forge,Autodesk Forge,Forge,我有一个forge viewer的标记扩展,我想用标记svg中的坐标来更改模型的位置。我已经得到了坐标并试图改变,但什么都没有 我得到了这个代码的坐标 let svg = document.querySelector('svg'); let box = svg.getAttribute('viewBox').split(' '); 并试图用这个改变立场 viewer.autocam.camera.position.setX(parseFloat(box[0])); viewer
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]));
您的代码正在更改相机的位置。。。您是否试图更改模型的位置或相机的位置 要更改摄像头的位置,请尝试导航。设置视图:
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);
const total=NOP_VIEWER.model.getInstanceTree().fragList.length//fragment索引为0,增量为1,因此基本上从0迭代到长度-1
//...
对于(inti=0,iNo),我尝试更改模型的位置,但我从标记svg获得的位置。我如何才能做到这一点?非常感谢!!