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

Revit API: How to retrieve possible values for parameter with storage type ElementId

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

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

我已经窥探了系列实例,以查看当我选择了不同的类型时为参数设置了哪些值。我可以找到那些 elementIds,可以将它们硬编码进去,而且它可以工作。但我真的需要能够在运行时解决这个问题。

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

族文档本身的元素 ID 不正确。我的怀疑是,当族被加载到 Revit 项目文档中时,嵌套族被赋予元素 ID,但被排除在通过过滤元素收集器访问之外。

注意:如果共享但未共享,则可能会找到它们。 (如果它们是共享的,它们可以通过放置的 familyinstance 的 "sub-components" 属性 找到,我想我们可以从那里得到它们的类型)

恐怕您提到的硬编码解决方案是目前唯一的方法。我会围绕它添加断言和单元测试套件,以确保您真正捕捉并支持所有可能的状态。您可能需要检查标记为 API 的 Revit Idea station 愿望清单项目,并查看是否有合适的愿望记录以将其包含到其中,或者是否可以为它记录一个新的愿望清单。当然,我会尽可能保持通用。

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

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