缩放场景 Autodesk Forge

Scaling Scene Autodesk Forge

我在锻造场景中有一个 BIM 建筑设计和一个自定义模型。我使用以下方法 mesh.matrix.setPosition(new THREE.Vector3(1, 0, 0)) 在 X 轴上移动了自定义模型 1 单元。我希望 1 个单位的位移等于 1 米。 我的问题:

  1. 如何在 Autodesk Forge 上执行此操作?
  2. 更详细地说,如何确定以米为单位的 Forge 场景的比例?

尝试加载您的 Forge 模型,将 applyScaling 属性 设置为 meters,例如:

async function loadModel(viewer, urn) {
    return new Promise(function (resolve, reject) {
        function onDocumentLoadSuccess(doc) {
            const viewable = doc.getRoot().getDefaultGeometry();
            const options = {
                applyScaling: 'meters'
            };
            viewer.loadDocumentNode(doc, viewable, options)
                .then(resolve)
                .catch(reject);
        }
        function onDocumentLoadFailure(code) {
            reject(`Could not load document (${code}).`);
        }
        Autodesk.Viewing.Document.load('urn:' + urn, onDocumentLoadSuccess, onDocumentLoadFailure);
    });
}

这样,如果加载的模型以不同的单位定义,查看器将对其进行缩放,使其几何图形中的 1 个单位代表 1 米。