簡體   English   中英

Autodesk Forge 多維數據集

[英]Autodesk Forge View Cube

我有一個 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]));

您的代碼正在更改相機的位置...您是要更改模型位置還是相機的位置 ...

要更改相機的位置,請嘗試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);

有關更多詳細信息,請參閱此處的示例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM