簡體   English   中英

Python中的Revit臨時事務

[英]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在事務回滾后消失,而不是復制其值。 閱讀有關為字符串分配另一個變量的說明,以進行復制或增加引用計數 :除非明確指示使用例如copydeepcopy否則Python絕不進行復制。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM