Revit API:如何检索存储类型为ElementId的参数的可能值

时间:2016-11-24 14:42:59

标签: revit-api

我有一个嵌套族的族,由族类型参数控制。 (存储类型ElementId)

如何查询项目文件以检索elementId类型参数的可能值?

当我选择了不同的类型时,我已经窥探了族实例以查看为参数设置了什么值。我可以找到那些elementIds,可以对它们进行硬编码,并且它可以工作。但我真的需要能够在运行时弄清楚这一点。

例如:我家中嵌套(不共享)的家庭类型之一被命名为“Circular”。我通过filteredElementCollector(revitDoc)搜索了主文档中的所有元素和元素类型,并且找不到一个名为“Circular”的文件,但是,如果我要求文档获取与我的硬编码ID相关联的元素,它会给我一个名称为“Circular”的元素。所以我知道它在文件中!

家庭文件本身的元素ID不正确。我怀疑当将族加载到Revit项目文档中时,嵌套族被赋予元素ID,但不能通过过滤元素收集器访问。

注意:如果共享但未共享它们,则可能会找到它们。 (如果他们是共享的,可以通过已放置的家庭实例的“子组件”属性找到它们,并且从那里开始,我认为我们可以获得它们的类型)

1 个答案:

答案 0 :(得分:1)

我担心您提到的硬编码解决方案是目前唯一的方法。我会在其周围添加断言和单元测试套件,以确保您真正捕获并支持所有可能的状态。您可能需要检查Revit Idea工作站愿望清单项目标记的API,并查看是否有合适的愿望记录以包含此内容,或者是否可以为其记录新的愿望。当然,我会尽可能保持通用。

http://forums.autodesk.com/t5/revit-ideas/idb-p/302

http://forums.autodesk.com/t5/revit-ideas/idb-p/302/label-name/api