问题描述
我正在尝试使用Revit API中的选定元素ID创建一个python列表。我试图在示例结构文件中收集网格的ID,然后在Visual Studio Code中使用此列表。我正在.NET 4.0.30319.42000(64位)上使用Revit 2020和IronPython 2.7.7(2.7.7.0)。
在IronPython中运行代码时,我得到了想要的ID的列表,但是如何在Visual Studio Code中重新制作打印出的ID的列表呢?
我的代码:
from Autodesk.Revit.DB import *
import clr
import math
clr.AddReference('RevitAPI')
clr.AddReference('RevitAPiui')
app = __revit__.Application
doc = __revit__.ActiveUIDocument.Document
transaction = Transaction(doc,"Get grids")
transaction.Start()
new_list = DB.FilteredElementCollector(doc) \
.OfCategory(DB.BuiltInCategory.OST_Grids) \
.toElementIds()
for x in range(len(new_list)):
new_list[x]
print(new_list[x])
transaction.Commit()
解决方法
如果我的理解正确,您将获得元素ID的列表,但需要在逻辑的另一部分或完全在单独的脚本中引用该信息。我建议在此操作结束时将此数据保存到文件中,然后以其他需要该数据的逻辑/脚本使用该文件。
就个人而言,我更喜欢将数据保存/读取为JSON格式。以下是一些可帮助您入门的资源: