【发布时间】:2021-07-25 22:15:57
【问题描述】:
我正在测试示例 https://github.com/petrbroz/forge-potree-demo 尝试将 NWD 和点云导入 Forge 查看器,但无法使它们与坐标匹配。
我在 Navisworks 上确认 PC 和模型都在 0,0,0 对齐。但它们在查看器中的位移超过 200'。
我们所做的尝试
-
点云是使用 Potree 转换的转换器 1.6 和 1.7 https://github.com/potree/PotreeConverter/releases/tag/1.7
-
使用
let scale = new THREE.Vector3(3.28084,3.28084,3.28084);将点云从米缩放到英尺。 -
正在使用全局偏移量 0,0,0 插入模型。
globalOffset: {x:0,y:0,z:0} -
我们使用英尺坐标直接在 Threejs 中的已知点创建了一个球体,它与 NWD 上的位置相匹配。
-
我们发现 potree 转换器与示例并非 100% 兼容,需要在 line 464 上进行快速修复以读取转换器创建的类别。
var pointAttributeName = pointAttributes[i].name.toUpperCase().replaceAll(' ','_'); -
我们还需要在line 434 周围添加一个新类别
PointAttribute.RGBA = new PointAttribute(PointAttributeNames.COLOR_PACKED, PointAttributeTypes.DATA_TYPE_INT8, 4); -
如果没有这两个最新修复,我们将无法加载点云。
我们缺少什么?
我们可以手动覆盖位置,但最终坐标对项目没有意义。太随意了。这两个修复可能是问题吗?应该有什么替代方案?
【问题讨论】:
标签: point-clouds viewer forge autodesk-navisworks