Name a Transaction

You need to import the “transaction” module:

from Autodesk.Revit.DB import Transaction

But you should preferably not work with transactions this way rather using the transaction manager as described by Dimitar in this post:

This “works”

import clr
import sys
sys.path.append('C:\Program Files (x86)\IronPython 2.7\Lib')

clr.AddReference('RevitAPI')
from Autodesk.Revit.DB import *
from Autodesk.Revit.DB import Transaction

clr.AddReference("RevitNodes")
import Revit
clr.ImportExtensions(Revit.Elements)
from System.Collections.Generic import *

clr.AddReference("RevitAPIUI")
from Autodesk.Revit.UI import * 

clr.AddReference('RevitServices')
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager 

doc = DocumentManager.Instance.CurrentDBDocument

elements = IN[0]
parameters = IN[1]
values = IN[2]

output = []

if not isinstance(elements, list):
	elements = [elements]

if not isinstance(parameters, list):
	parameters = [parameters]

if not isinstance(values, list):
	values = [values]

t = Transaction(doc, 'Name')
t.Start()
output = "Success"
t.Commit()

OUT = output

image

2 Likes