【发布时间】:2018-12-24 22:39:38
【问题描述】:
当我在 Revit 中打开 3D 模型时,我可以使用系统浏览器按系统过滤我的视图。但是,在 Autodesk 查看器中查看同一文件时,我看不到按系统过滤视图的选项。
那么,有没有办法按系统过滤模型?
【问题讨论】:
标签: autodesk-forge autodesk-viewer
当我在 Revit 中打开 3D 模型时,我可以使用系统浏览器按系统过滤我的视图。但是,在 Autodesk 查看器中查看同一文件时,我看不到按系统过滤视图的选项。
那么,有没有办法按系统过滤模型?
【问题讨论】:
标签: autodesk-forge autodesk-viewer
如果我理解正确,您想要的信息在System Name 属性下。这是在叶级别(注意模型是分层的)。所以通常我们从enumerating leaf nodes开始。
您可以从中列出所有系统,例如:
getAllLeafComponents(NOP_VIEWER, function (dbIds) {
NOP_VIEWER.model.getBulkProperties(dbIds, ['System Name'], function(e){
var systems = [];
e.forEach(function(item){
var sysName = item.properties[0].displayValue;
if (systems.indexOf(sysName)==-1) systems.push(sysName);
});
console.log(systems);
});
})
systems 数组将包含模型上的系统。从该列表中,您可以.search(systemName, cbSuccess, cbFail, ['System Name']),查看最后一个参数如何指示要搜索的属性。
如果您已经知道系统名称,只需使用最后一次搜索调用...
【讨论】:
Type Name,确实没有这个特定元素的系统名称......现在我不确定它是否只是这个模型,因为我可以在其他模型上看到系统, 这个模型是一个基本的示例文件。
system name 属性。据我所知,Forge Viewer 中的model browser 窗口与Revit 中的family window 匹配,而在Revit 中,该对象不包含属性System Name。所以...我不知道Revit 如何跟踪系统,或者翻译过程是否实际包含或转储Systems。