How can i change size of on object ??
i need to change height of on object
For example, we need to change the height of a door or curtain
on this code my object disappears
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);
});
}
};
The following code resizes objects but becomes too large and cannot be scaled
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);
});
}
I found the solution and wrote the script for it
How to use ?
selection.mesh.fragIds() // [11]
transform.setFragId(11)
Now You Can Change Scale and position :)
Consider setting the scale of objects:
See usage reference here