ironpython - 如何在 Revit Api 中从 IronPython 中的 Elements ID 制作列表
问题描述
我正在尝试使用 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 列表,但是如何制作打印的 ID 列表以供在 Visual Studio Code 中进一步使用?
我的代码:
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 格式。以下是一些可帮助您入门的资源:
推荐阅读
- python - 比较布尔系列
- java - MapBox:在 LocationComponent 上获取纬度()和经度()
- excel - 我写的基本宏是打开两个工作簿(一个命名并按预期保存,一个空白) - 为什么?
- java - 如何用重复的可变参数填充数组?
- json - 获取 Json 条目的数据类型
- wordpress - 尽管路径正常,但 Wordpress wp_enqueue_style() 不起作用
- c# - 枚举的通用验证
- jquery - fadeIn 和 fadeOut 不适用于具有 CSS 后备的元素
- highcharts - Highcharts.js - 动态禁用给定类别
- c# - 在 Selenium WebDriver 下无法登录网站