Revit_TransactionMode

本文详细介绍了RevitAPI中的三种TransactionMode:Automatic、Manual和ReadOnly。在Automatic模式下,Revit会自动处理Transaction,成功则提交,失败则回滚。Manual模式需要用户手动创建和管理Transaction。而ReadOnly模式则禁止任何修改操作。理解并正确使用这些模式对于Revit插件开发至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

由于Revit API对于Revit事务没有默认值,****用户必须显式地指定标签值****。用户在实现IExternalCommand接口时必须指定执行命令所使用的TransactionMode属性。

[Autodesk.Revit. Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Automatic)]

①TransactionMode.Automatic:
Revit会在调用外部命令之前自动创建一个Transaction,并且该Transaction会在外面命令结朿时提交或者回滚。如果外部命令执行成功,则提交Transaction;如果有异常,则回滚。在该模式下,外部命令不能再创建自己的Transaction,但是可以创建 SubTransactions。

②TransactionMode.Manual:
此模式表示Revit不会自动创建一个Transaction。如果用户需要修改Revit摸型,则需要自行创建Transaction,并且自行管理这个Transaction提交还是回滚。

③TransactionMode.ReadOnly:
在该模式下,外部命令不能有任何的Transaction,否则在创建Transaction或者修改 Revit文档都会抛出异常。

    [TransactionAttribute(TransactionMode.Manual)]
    [RegenerationAttribute(RegenerationOption.Manual)]

nOption.Manual)]




***\*上述三种TransactionMode都只在活动文档范围内有效\****。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值