目前,我制作了一个工具来根据它们在工作表上的位置重命名工作表上的视图编号(“详细编号”)。这是破坏的地方是交易。我试图在 Revit Python Shell 中按顺序执行两个事务。我最初也是在 dynamo 中这样做的,并且有类似的 fail ,所以我知道它与事务有关。
事务 #1:为每个明细编号添加后缀(“-x”)以确保新编号不会冲突(1 为 1-x,4 为 4-x,等等)
事务 #2:使用基于视口位置计算出的新编号更改详细信息编号(1-x 将是 3,4-x 将是 2,等等)
更好的视觉解释在这里:https : //www.docdroid.net/EP1K9Di/161115-viewport-diagram-.pdf.html Py 文件在这里: http: //pastebin.com/7PyWA0gV
附件是python文件,但基本上我想做的是:
# <---- Make unique numbers
t = Transaction(doc, 'Rename Detail Numbers')
t.Start()
for i, viewport in enumerate(viewports):
setParam(viewport, "Detail Number",getParam(viewport,"Detail Number")+"x")
t.Commit()
# <---- Do the thang
t2 = Transaction(doc, 'Rename Detail Numbers')
t2.Start()
for i, viewport in enumerate(viewports):
setParam(viewport, "Detail Number",detailViewNumberData[i])
t2.Commit()
附上py文件