不需要更改,在程序起始位置复制一下代码即可
# 引用 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 .document3.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 wrapper3.2过滤器(无需更改)
快速过滤当前document内容进行业务逻辑的处理
class pyRevit(object): @staticmethod def of_class(typeof): return FilteredElementCollector(doc).OfClass(typeof).ToElements()4.功能业务(自实现)
如需要什么样的业务,便在此类下编写逻辑代码即可
class App(pyRevit): def __init__(self): pass # 初始化业务逻辑 @transaction def main(self): try: # 业务代码 return 1 except Exception as e: print(e) return 0 if __name__ == '__main__': app = App() app.main()
最后祝大家天天进步!!学习Python最重要的就是心态。我们在学习过程中必然会遇到很多难题,可能自己想破脑袋都无法解决。这都是正常的,千万别急着否定自己,怀疑自己。如果大家在刚开始学习中遇到困难,想找一个python学习交流环境,可以 加入我们,领取学习资料、一起讨论。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)