Autodesk forge 突出显示子对象
Posted
技术标签:
【中文标题】Autodesk forge 突出显示子对象【英文标题】:Autodesk forge highlight child object 【发布时间】:2021-11-11 12:47:06 【问题描述】:最近我一直在开发此存储库 https://github.com/xiaodongliang/forgeviewer_embed_in_powerbi_report,以在 Power BI 中构建自定义视觉对象,以可视化从 Bim track 的 API 中提取的问题。
这个想法是将它们与模型的房间关联起来进行可视化。 为了做到这一点,我使用了 NWC 文件,因此我将房间导出为几何图形。
如果从表格中选择了连接的问题,我现在想做的是突出显示房间。 问题是当我从表中选择一个问题时,在选择树中我可以看到突出显示的父对象名称(ROOM)而不是子对象(实心),我认为这就是为什么我无法实现我的目的(如果不请指正)。
what i have
what i wold like to do
有人知道怎么做吗?
【问题讨论】:
【参考方案1】:如果我很好理解,您想突出显示子项(包含网格)而不是父项。
对象突出显示(隔离)在/forgePowerbiView/src/visual.ts
中使用以下代码完成:
const dbIds = options.dataViews[0].table.rows.map(r =>
<number>r[0].valueOf());
console.log('dbIds: ' +dbIds)
this.forge_viewer.showAll();
this.forge_viewer.impl.setGhostingBrightness(true); //for isolate effect
this.forge_viewer.isolate(dbIds);
看看这个链接Enumerating leaf nodes on Viewer。这将帮助您获得要隔离的dbIds
。
【讨论】:
【参考方案2】:如果您想在(FIRST_OBJECT, LAST_OBJECT, LEAF_OBJECT)
之间更改您的选择,您可以更改查看器选择设置以进行测试:
如果您想以编程方式实现此目的:
Viewer.setSelectionMode();
也可以帮助你。
【讨论】:
以上是关于Autodesk forge 突出显示子对象的主要内容,如果未能解决你的问题,请参考以下文章
在 Autodesk Forge 中突出显示多个元素,例如悬停效果
如何在聚合模型 Autodesk Forge 上选择多个元素
Forge 查看器:Autodesk.BoxSelection 扩展错误
隐藏除选定 Autodesk-Forge 查看器之外的所有查看器