[英]Revit Temporary Transaction in Python
我需要通過Python在Revit中使用臨時事務的幫助。 回滾后,我似乎無法從事務中提取數據。
這是用於將插入特定系列的pyRevit加載項。 我試過使用pyRevit的DryTransactions,SubTransactions和GroupTransactions,但它們似乎都不適合我。
fam_symbol = None
t = Transaction(doc, 'loadfamily')
t.Start()
success, fam_symbol = doc.LoadFamilySymbol.Overloads.Functions[1](fam_doc_path, fam_symbol_name)
doc.Regenerate()
fam_symbol = fam_symbol.Name
t.RollBack()
我希望fam_symbol現在包含家庭符號,但是沒有。 如果我從Transaction內對其進行測試,則可以正常工作,但是回滾后,信息消失了。
也許您對fam_symbol
的分配創建了一個指向字符串變量fam_symbol.Name
的指針,該fam_symbol.Name
在事務回滾后消失,而不是復制其值。 閱讀有關為字符串分配另一個變量的說明,以進行復制或增加引用計數 :除非明確指示使用例如copy
或deepcopy
否則Python絕不進行復制。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.