autodesk-forge - Autodesk Forge Viewer 获取片段位置
问题描述
我正在尝试获取模型中单独网格的位置(从 revit 文件翻译)。我正在做的是获取fragmentProxy,然后使用getOriginalWorldMatrix() 来获取THREE.Matrix4()。然后从 Matrix4 中调用 getPosition() 来获取片段的 THREE.Vector3 世界位置。但是,每个网格都返回相同的位置值。那是因为模型最初是如何构建的吗?或者我必须使用不同的方法获取片段位置?
解决方案
您检索片段转换的过程是正确的。或者,您可以使用以下内容:
function getFragmentTransform(model, fragid) {
const frags = model.getFragmentList();
let xform = new THREE.Matrix4();
frags.getOriginalWorldMatrix(fragid, xform);
return xform;
}
恐怕您是对的,在某些情况下,变换可能会直接烘焙到网格顶点中。
推荐阅读
- javascript - 使用 jQuery 的带星号的 IP 掩码 - 例如 192.168.1.*
- python - 比较两个 Pandas 数据帧
- javascript - 在 contenteditable 元素的后代上捕获 keypress/down/up 事件
- javascript - 如何使用脚本从第 n 类更改图像的宽度?
- java - 使用 Mockito 在 Java 中模拟谓词
- java - Java中的Euler Brick实现
- java - Azure 存储压力测试失败
- ios - 如何在 Swift 中按数字和字母顺序对数组进行排序
- c# - 任务栏在单屏时不隐藏,但在多屏时隐藏 C#
- c++ - 我不明白如何管理目录