Я создал автономное расширение, которое вы можете добавить в программу просмотра, и показывает, как получить позицию компонента:
Проверьте это репо и TransformationExplorerExtension
Код, ответственный за извлечение матрицы преобразования:
getFragmentWorldMatrixByNodeId(nodeId) {
let result = {
fragId: [],
matrix: [],
};
let viewer = this.viewer;
this.tree.enumNodeFragments(nodeId, function (frag) {
let fragProxy = viewer.impl.getFragmentProxy(viewer.model, frag);
let matrix = new THREE.Matrix4();
fragProxy.getWorldMatrix(matrix);
result.fragId.push(frag);
result.matrix.push(matrix);
});
return result;
}