【发布时间】:2016-11-25 16:54:25
【问题描述】:
我有一个包含嵌套族的族,这些族由族类型类型参数控制。 (存储类型ElementId)
如何查询项目文件以检索 elementId 类型参数的可能值?
我已经窥探了族实例,以查看当我选择了不同的类型时为参数设置了哪些值。我可以找到那些 elementId,可以对其进行硬编码,并且可以正常工作。但我真的需要能够在运行时解决这个问题。
例如:我的家庭中嵌套(不共享)的家庭类型之一被命名为“循环”。我已经通过filteredElementCollector(revitDoc)搜索了主文档中的所有元素和元素类型,但找不到名为“Circular”的元素,但是,如果我要求文档获取与我的硬编码ID关联的元素,它会给我一个名为“圆形”的元素。所以我知道它在文档中!
family 文档本身的元素 ID 不正确。我怀疑当族被加载到 Revit 项目文档中时,嵌套族被赋予元素 ID,但被排除在通过过滤元素收集器访问之外。
注意:如果它们已共享但未共享,则可能会找到它们。 (如果它们是共享的,则可以通过放置的 familyinstance 的“子组件”属性找到它们,我假设我们可以从那里获取它们的类型)
【问题讨论】:
-
您可以收集模型中的所有 FamilyInstance,循环遍历参数,并找到 ElementId 的使用 - 这不会收集所有“可能”值,而是所有“使用”值。如果您可以使用您“可能”使用的所有家庭类型创建多个实例的“图例”,那么您将能够收集所有“可能”的值。我还没有找到其他解决方案。
标签: revit-api