api - 获取出现在 Schedule Revit API 上的链接元素
问题描述
使用 Revit API(2017 及更高版本),有没有办法获取出现在计划中的链接元素列表(包括过滤器、阶段过滤器等)。
目前,如果您使用 FilteredElementCollector 查询 ViewSchedule,它将返回 N 个元素(例如窗户、门)和 M 个 RevitLinkInstances。但是,RevitLinkInstance 并未列出链接模型中出现的实际元素。有没有办法在 ViewSchedule 范围内的 RevitLinkInstance 中进行查询?或者类似的解决方案?
解决方案
我已经设法通过将 Schedule Id 传递给一个新的 fileteredElementCollector 来让它工作,如下所示:
schedule = doc.ActiveView
scheduledElements = list(FilteredElementCollector(doc, schedule.Id))
allElements = []
for element in scheduledElements:
if element.Category.Name == 'RVT Links':
linkedElements = list(FilteredElementCollector(element.GetLinkDocument(), schedule.Id))
for linkedElement in linkedElements:
allElements.Add(linkedElement)
else:
allElements.Add(element)
for element in allElements:
print element
让我知道这是否也对您有用
推荐阅读
- android - 颤振中的302响应
- javascript - 设置为全局的变量不设置元素样式
- c# - 如何创建类似于呼吸泡芙的Unity3d高斯羽流
- json - 如何使用 Vuejs 从 json 对象访问父元素
- docker - k3s 上的默认 Traefik 入口控制器提供“网关超时”
- python - 如何以 dict 格式标记我的数据以准备深度学习训练和测试?
- postgresql - 访问 gitlab postgres 综合数据库
- c++ - 使用 CMake 将 std::filesystem 与 CUDA 一起使用
- spring - 在 Spring Cloud 函数 + AWS Lamba + API 网关中访问查询参数
- c++ - 调用对象时C ++返回对象成员变量?