autodesk-forge - 如何在 Forge 查看器中复制或克隆模型的元素
问题描述
我已经加载了一个模型,我想从中选择一个元素,克隆它并将克隆沿 X 轴移动 1000 个单位。
通过在 Web 浏览器控制台中进行测试,我使用以下代码管理了沿 X 轴部分的移动:
var tree = NOP_VIEWER.model.getData().instanceTree;
var offset = new THREE.Vector3( 1000, 0 , 0 );
tree.enumNodeFragments(7836, function (frag) {
var fragProxy = NOP_VIEWER.impl.getFragmentProxy( NOP_VIEWER.model, frag);
var newfragProxy = fragProxy.mesh().clone();
fragProxy.getAnimTransform();
var position = new THREE.Vector3(
fragProxy.position.x + offset.x,
fragProxy.position.y + offset.y,
fragProxy.position.z + offset.z
);
fragProxy.position = position;
fragProxy.updateAnimTransform();
});
NOP_VIEWER.impl.sceneUpdated(true);`
但我未能找到克隆初始元素的方法。有人可以帮我创建元素的副本或元素几何的副本吗?
感谢您的时间。
解决方案
目前官方的Viewer API不支持这种操作。
您可能会FragmentList
从非缩小的 JavaScript 代码对类进行逆向工程,但您很可能会看到很多意外行为。查看器进行了大量预处理以确保高效的场景遍历和渲染(例如,计算 BVH 或合并网格),所有这些优化都假设场景是静态的。
推荐阅读
- excel - 如果 x="cell value",则复制和粘贴行 x 次
- javascript - 如何使用回调使函数在 setTimeout 条件下依次执行
- python - 如何使用 Python(NumPy、SciPy 等)求解 AX = B 方程,其中 A、X、B 是矩阵且 X 的所有元素必须为非负数
- javascript - 为什么我会使用对我的基本 Web 服务的 Javascript 调用返回错误代码?
- json - Amazon S3 存储桶策略只允许访问特定的 http
- angularjs - 根据先前的选择在选择中显示/隐藏选项
- java - 如何验证列表
- > 因为不空?
- amazon-s3 - 修改 S3 存储桶响应?
- mongodb - Golang mgo store Session 或 Collection
- c# - 如何从数据表中获取模式?