【问题标题】:Forge InstanceTree getNodeType() returning 0Forge InstanceTree getNodeType() 返回 0
【发布时间】:2023-02-09 20:51:55
【问题描述】:
我想根据元素的本机类别(不使用 ACC)过滤元素,所以我正在查看查看器的 InstanceTree。根据文档 InstanceTree 的获取节点类型()方法应该返回一个整数(来自 viewer.js 文件 NODE_TYPE 应该是:0x0、0x1、0x2 ... 0x7),但是我从 Revit 模型中得到的值始终为 0。它保留什么?
我对对象的抽象集合(例如门)很感兴趣……有更好的方法吗?
谢谢
【问题讨论】:
标签:
autodesk-forge
autodesk-viewer
【解决方案1】:
尽管节点类型由实例树公开,但它们更像是一个内部实现细节,可能对您尝试做的事情没有帮助。仅供参考,这些是不同值的含义:
-
0x0 - NODE_TYPE_ASSEMBLY
-
0x1 - NODE_TYPE_INSERT
-
0x2 - NODE_TYPE_LAYER
-
0x3 - NODE_TYPE_COLLECTION
-
0x4 - NODE_TYPE_COMPOSITE
-
0x5 - NODE_TYPE_MODEL
-
0x6 - NODE_TYPE_GEOMETRY
-
0x7 - NODE_TYPE_BITS
如果您有兴趣对来自 Revit 设计的模型中的对象进行分类,您可以使用标准的查看器 API,例如 search、getProperties 或 getBulkProperties,并使用一些对象属性。特别是对于 Revit 设计,每个对象都将包含一个名为 Category 的属性,可以是 Revit Doors、Revit Curtain Panels 等。