gpt4 book ai didi

python - Revit 链接内的 Revit 链接的 ActiveProjectLocation.Name

转载 作者:行者123 更新时间:2023-12-01 07:24:59 33 4
gpt4 key购买 nike

我打开文件 A,其中链接了 x 个文件 B。文件 B 还链接了 x 个文件 C。我想知道文件 C 的位置名称。

我使用 dynamo for revit 收集文件 A 中的 RevitLinkInstances (B),然后使用先前的 RevitLinkInstances (B) 收集其 RevitLinkInstances (C)。该部分运行良好,可以使用自定义节点或 python 来完成。从那里我可以从 C RevitLinkInstances 收集任意数量的项目信息(根据我的理解,以我上次打开 C RevitLinkInstances 时的保存状态)

到目前为止,我从 C RevitLinkInstances 中获得了我想要的所有内容,而无需在后台打开它们:文件名、实例名称、固定状态、设计选项、实例工作集、类型工作集。

当我尝试收集 C 文件的 ActiveProjectLocation.Name 时,我得到空值,当我之前尝试 GetDocument() 时,得到相同的结果。如果该信息未存储在 B RevitLinkInstances 中,这似乎是合乎逻辑的。

Image of Dynamo Script

我为我的 C RevitLinkInstances 使用了以下 python首先在这里描述我的问题https://forum.dynamobim.com/t/get-project-location-name-of-revit-links-in-revit-links-inception-like-question

import clr

# clr.AddReference loads and imports .net assembly(dll) as python module
# load RevitAPI.dll and RevitServices.dll
clr.AddReference("RevitAPI")
clr.AddReference("RevitServices")

# import filtered element collector and revit link instance classes
from Autodesk.Revit.DB import FilteredElementCollector, RevitLinkInstance

# import document manager
from RevitServices.Persistence import DocumentManager

# collect link documents from current document
link_docs = UnwrapElement(IN[0])
#rvtLinks = link_docs.ToElements()

ProjectLocation = []

#Queries


for i in link_docs :

projloc = i.GetLinkDocument().ActiveProjectLocation.Name


#Append Output Lists

ProjectLocation.Add(projloc)


OUT = ProjectLocation
  1. 是否可以获取 C RevitLinkInstances 的 ActiveProjectLocation.Name?
  2. 无需在后台打开文件,我可以在 C 级别获取多少信息?
  3. 这是 API 限制还是只是文件数据存储限制?

最佳答案

我看到这个问题已经在 dynamobim forum 中深入讨论过线程 getting project location name of Revit links in Revit links .

据我所知,Brendan_Cassidy 在该帖子中的最初回答是完全准确的:

  • 您基本上需要将每个链接作为其自己的文档获取,然后从该链接文档中获取这些 Revit 链接。我认为这篇文章将帮助您实现目标......

我建议您遵循他的建议,并以单独的文档形式递归打开每个链接,以从那里检索所需的信息。

关于python - Revit 链接内的 Revit 链接的 ActiveProjectLocation.Name,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57496942/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com