我打开文件A,其中有x个文件B链接到它。 文件B中还链接了x个文件C。我想知道文件C的位置名称
我使用dynamo for revit收集文件A中的RevitLinkInstances(B),然后使用以前的RevitLinkInstances(B)收集它们的RevitLinkInstances(C)。这部分工作得很好,可以使用自定义节点或python来完成。从那里我可以从C RevitLinkInstances收集任意数量的项目信息(据我所知,在上次打开C RevitLinkInstances时处于保存状态)
我从C RevitLinkInstances得到了我想要的一切,而没有在后台打开它们:文件名、实例名、固定状态、设计选项、实例工作集、类型工作集。你知道吗
当我试图收集ActiveProjectLocation.名称在我的C文件中,我得到了空值,当我在前面尝试GetDocument()时,得到了相同的结果。如果该信息不存储在B RevitLinkInstances中,那么似乎是合乎逻辑的。你知道吗
我将下面的python用于我的C revitlink实例 首先描述一下我的问题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
我看到这个问题已经在getting project location name of Revit links in Revit links上的dynamobim forum线程中进行了深入讨论。你知道吗
据我所知,布伦丹•卡西迪在那篇文章中的最初回答非常准确:
我建议您按照他的建议,递归地将每个链接作为单独的文档打开,从中检索所需的信息。你知道吗
相关问题 更多 >
编程相关推荐