我正在尝试编写一个脚本,将组从一种类型更改为另一种类型。本质上,我想完成 UI 等效于右键单击组类型、选择所有实例并更改类型。
我可以使用类似下面的代码,但是当有很多组(例如 270 个左右)时,它比 UI 方法花费的时间要长得多。在 UI 中需要不到 5 分钟的时间,以编程方式需要大约 20 分钟或更长时间。
有没有更好的方法来做到这一点,这样它就不会比 UI 方法花费更长的时间?
这是我用来在 Revit Python Shell 中测试的代码:
import clr
clr.AddReference('RevitAPI')
from Autodesk.Revit.DB import *
uidoc = __revit__.ActiveUIDocument
doc = uidoc.Document
sel = uidoc.Selection.GetElementIds()
t = Transaction(doc, "Test")
t.Start()
g1 = doc.GetElement(sel[0])
g2 = doc.GetElement(sel[1])
for group in g2.Groups:
group.GroupType = g1
t.Commit()