代码模块详解
1.引入RevitApi类库(无需更改)
不需要更改,在程序起始位置复制一下代码即可
# 引用
clr.AddReference('RevitAPI')
clr.AddReference('RevitAPIUI')
clr.AddReference("System")
# 导入
from Autodesk.Revit.UI import *
from Autodesk.Revit.DB import *
2.实例当前程序变量(无需更改)
默认对当前文档进行操作,定义全局变量
uidoc = __revit__.ActiveUIDocument
uiapp = __revit__.Application
# 当前文档
doc = uidoc .Document
3.1.事务装饰器(无需更改)
设置事务装饰器方法,在需要开始事务的逻辑代码方法上添加此装饰器即可
def transaction(func):
def wrapper(*args, **kwargs):
t = Transaction(doc, "pyRevit")
t.Start()
try:
f = func(*args, **kwargs)
if f:
t.Commit()
else:
t.RollBack()
except Exception as e:
print("Error:%s" % e)
t.RollBack()
f = False
return f
return wrap