【发布时间】:2020-01-18 01:59:30
【问题描述】:
如何更改对象的大小?
我需要改变物体的高度
例如,我们需要改变门或窗帘的高度
在这段代码中我的对象消失了
let change = function () {
const viewer = oViewer;
const model = viewer.model;
const frags = [
123,
361,
];
for(let i in frags){
let fragId = frags[i];
// Get mesh with frag id
let mesh = viewer.impl.getRenderProxy(model, fragId);
// Selection ID
let dbId = 1280; // viewer.getSelection()[0]
model.getData().instanceTree.enumNodeFragments(dbId, fragId => {
mesh.scale.x += 0.5;
// mesh.scale.y = 5;
// mesh.scale.z = 5;
model.getFragmentList().setMesh(fragId, mesh, true);
viewer.impl.invalidate(true);
});
}
};
以下代码调整了对象的大小,但变得太大而无法缩放
const viewer = oViewer;
const model = viewer.model;
viewer.addEventListener(Autodesk.Viewing.SELECTION_CHANGED_EVENT, onSelectedCallback);
function onSelectedCallback(event) {
const fragId = event.fragIdsArray[0];
if (typeof fragId == 'undefined') {return;}
const fragIdsArray = (Array.isArray(fragId) ? fragId : [fragId]);
fragIdsArray.forEach(function (subFragId) {
let mesh = viewer.impl.getRenderProxy(model, subFragId).clone();
mesh.scale.y += 0.2;
mesh.scale.x += 0.2;
mesh.scale.z += 0.2;
model.getFragmentList().setMesh(subFragId, mesh, true);
viewer.impl.invalidate(true);
});
}
【问题讨论】:
标签: javascript autodesk-forge autodesk-viewer autodesk viewer