缩放场景 Autodesk Forge
Scaling Scene Autodesk Forge
我在锻造场景中有一个 BIM 建筑设计和一个自定义模型。我使用以下方法 mesh.matrix.setPosition(new THREE.Vector3(1, 0, 0))
在 X 轴上移动了自定义模型 1 单元。我希望 1 个单位的位移等于 1 米。
我的问题:
- 如何在 Autodesk Forge 上执行此操作?
- 更详细地说,如何确定以米为单位的 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 米。
我在锻造场景中有一个 BIM 建筑设计和一个自定义模型。我使用以下方法 mesh.matrix.setPosition(new THREE.Vector3(1, 0, 0))
在 X 轴上移动了自定义模型 1 单元。我希望 1 个单位的位移等于 1 米。
我的问题:
- 如何在 Autodesk Forge 上执行此操作?
- 更详细地说,如何确定以米为单位的 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 米。