グループをあるタイプから別のタイプに変更するスクリプトを作成しようとしています。基本的に、グループ タイプを右クリックし、すべてのインスタンスを選択してタイプを変更するのと同等の 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()