如何利用Autodesk Forge获取建筑各边角对应的x、y、z点位坐标位置?
Autodesk Forge 建筑边角点位坐标获取方案
可以实现该需求,常用实现方式如下:
- 提取构件几何顶点坐标
先获取目标构件的dbID,通过viewer.model.getFragmentList()拿到构件对应的分片数据,再调用viewer.impl.getRenderProxy(viewer.model, fragId)获取构件的渲染代理对象,其geometry属性下存储了构件所有顶点的三维坐标数组,筛选后即可得到边角点位的坐标值。如果仅需要粗略的边界点位,也可以直接调用getWorldBounds()方法获取构件的包围盒顶点坐标。 - 交互拾取实时获取坐标
若需要通过点击操作直接获取指定边角的坐标,可使用viewer.impl.hitTest()方法实现点击拾取,返回结果中的intersectPoint字段即为点击位置对应的世界坐标系坐标,可额外增加顶点捕捉逻辑提升边角拾取的精准度。 - 批量导出全建筑边角坐标
如需批量提取整栋建筑的所有外围边角坐标,可先过滤出墙、屋顶、楼板等外围构件,遍历所有构件的顶点数据后进行去重、边界筛选处理,即可批量导出所需的点位坐标。
提示:Forge平台加载的SVF/SVF2格式模型默认返回的坐标均为世界坐标系数值,无需额外做坐标转换即可直接使用。
参考示例图:
内容的提问来源于stack exchange,提问作者surya kumara
相关产品推荐
相关产品推荐

