Autodesk Forge View Cube - PullRequest
       8

Autodesk Forge View Cube

0 голосов
/ 01 марта 2020

У меня есть расширение разметки для просмотра кузницы, и я хочу изменить положение моделей с координатами в разметке 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 Ответ

0 голосов
/ 02 марта 2020

Ваш код меняет положение камеры ... Вы пытаетесь изменить положение модели или камеры ? ...

Чтобы изменить положение камеры, попробуйте 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);

Смотрите этот пример здесь для получения более подробной информации.

...