Python中的Revit临时事务

2024-10-05 15:25:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要通过Python在Revit中使用临时事务的帮助。回滚后,我似乎无法从事务中提取数据。你知道吗

这适用于将插入特定族的pyRevit外接程序。我试过使用pyRevit的干事务、子事务和组事务,但它们似乎都不适合我。你知道吗

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\u符号现在包含family符号,但它不包含family符号。如果我在事务中测试它,它可以工作,但是在回滚之后信息就消失了。你知道吗


Tags: 数据程序nonedoc符号symbolfamily事务
1条回答
网友
1楼 · 发布于 2024-10-05 15:25:57

可能您对fam_symbol的赋值创建了一个指向字符串变量fam_symbol.Name的指针,该变量在事务回滚后消失,而不是复制其值。阅读关于assigning another variable to a string make a copy or increase the reference count的解释:除非明确指示使用copydeepcopy,否则Python永远不会复制。你知道吗

相关问题 更多 >