zoukankan      html  css  js  c++  java
  • Revit二次开发八 事务标签值

    Revit开发中,事务应用非常频繁,所有revit API提供了用户显式地指定标签值。来控制在revit的IExternalCommand中,是否使用事务,其使用的属性为TransactionMode。

    如下:

    [Autodesk.Revit. Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Automatic)]  
    public class Classl: IExternalCommand  
    {  
        public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)  
        {  
            return Result.Succeeded;  
        } 
    }

    TransactionMode分为Automatic、Manual和ReadOnly。这三种TransactionMode都只在活动文档范围内有效

    ①TransactionMode.Automatic: 
    Revit会在调用外部命令之前自动创建一个Transaction,并且该Transaction会在外面命令结朿时提交或者回滚。如果外部命令执行成功,则提交Transaction;如果有异常,则回滚。在该模式下,外部命令不能再创建自己的Transaction,但是可以创建 SubTransactions。
    ②TransactionMode.Manual:
    此模式表示Revit不会自动创建一个Transaction。如果用户需要修改Revit摸型,则需要自行创建Transaction,并且自行管理这个Transaction提交还是回滚。
    ③TransactionMode.ReadOnly:
    在该模式下,外部命令不能有任何的Transaction,否则在创建Transaction或者修改 Revit文档都会抛出异常。

  • 相关阅读:
    高效沟通
    Oracle播放多条 INSERT ALL
    oracle的同义词总结
    Brute force Attack
    爱因斯坦方程与小黑洞
    dom 编程(html和xml)
    dexposed框架Android在线热修复
    从微软小冰看微软运营手段的转型
    剑指offer_面试题_从上往下打印二叉树
    外面的wifi非常精彩,外面的wifi非常不安
  • 原文地址:https://www.cnblogs.com/minhost/p/8900498.html
Copyright © 2011-2022 走看看