Revit二次开发手记【1】

1.返回值(E xecute 方法)
 1.1  Result.Succeeded
       当返回值为当前函数时,操作正确,不弹出任何提示框。
 1.2  Result.Cancelled
返回值为当前函数时,操作失败, revit将撤销所有外部命令的操作和修改 ,弹出Revit自带错误提示框。 错误框上的确定和取消按钮都可以点击。
错误内容可通过传出参数 【 message 】变量赋值。
 1.3  Result.Failed
返回值为当前函数时,操作失败, revit将撤销所有外部命令的操作和修改, 弹出Revit自带错误提示框。 错误框上的确定和取消按钮,确定按钮为不可点击。
错误内容可通过传出参数 【 message 】变量赋值。
2.提示框
 2.1 普通提示框
TaskDialog tdres = TaskDialog.Show("标题","内容");
 2.2 按钮点击可自定义处理提示框
TaskDialogResult tdres = TaskDialog.Show("标题","内容",TaskDialogCommonButtons.Yes|TaskDialogCommonButtons.No);
用户点击这个弹框后的确定或者取消,会执行以下判断
 
if (tdres == TaskDialogResult.Yes) { 
return Result.Succeeded;
 } 
else if (tdres == TaskDialogResult.No)
 { 
 elements = uiDoc.Selection.Elements;
 messages = "点击了NO,错误消息出现!";
 return Result.Failed; 
 } else { 
 return Result.Cancelled; 
 }
3. 事务 Transaction )(必选)
3.1 TransactionMode.Automatic
 自动创建、提交事务,抛出异常后自动回滚。在该模式下不能自己创建事务,但是可以创建Sub Transaction。
3.2  TransactionMode.Manual
手动创建、提交事务,抛出异常后自动回滚。在改模式下需要自己管理事务,
Transacti new Transaction(commandData.Application.ActiveUIDocument.Document, "DeleteObject");
transactoin.Start();//开始事务
transactoin.Commit();//提交事务
transactoin.RollBack();//事务回滚 这的异常后会不会回滚还没测试,按道理说只要返回值不为 Succeeded 就会撤销回滚所有操作
3.3  TransactionMode.ReadOnly
事务为只读模式,创建或者提交事务都会抛出异常。
4.Journaling属性(可选) 
4.1 JournalingMode.NoCommandData
该模式下,revit不会把 ExternalCommandData 写到 ExternalCommandData. Journaling属性中。(这个模式的意义是在于,减少数据处理?)
4.2  JournalingMode.UsingCommandData
该模式下,revit会把 ExternalCommandData 写到 ExternalCommandData. Journaling属性中,这个模式是默认模式。
通过 IDictionary<string, string> JournalData = commandData.JournalData;方式取出。
5.接口类介绍
5.1 Autodesk.Revit.UI.UIApplication
提供了访问用户界面 RibbonPanels(控制面板?)、获得用户界面的活动文档等(多个文档最顶层的文档属于活动文档)。(等?等是还得自己查API咯)
5.2 Autodesk.Revit.ApplicationServices.Application
提供访问其他应用级别的接口。(访问其他插件的接口,还是其他插件正在使用的数据。写不清楚啊)
5.3Autodesk.Revit.UI.UIDocument
UI级别的接口文档类,比如通过Selection获得用户选中的组建或者UI。
5.4Autodesk.Revit.DB.Document
提供访问其它文档基本内容的文档类(其他文档,也没说访问当前文档?模糊不清的翻译)
6.应用类介绍
6.1  Application
 6.1.1 获取 Application
Autodesk.Revit.ApplicationServices.Applicati commandData.Application.Application;
 6.1.2 Application属性
  app.VersionBuild + "," + app.VersionNumber + "," + app.VersionName + "," + app.Product + "," + app.Language + ",";
 6.1.3 OpenSharedParameterFile方法
参数共享机制,app.OpenSharedParameterFile();(并不知道怎么用)
6.2UIApplication
6.2.1 获取UIApplication
UIApplicati commandData.Application;
6.2.2 插件管理
通过uiapp.ActiveAddInId获取当前活跃的外部 命令或者,外部应用的ID.
通过uiapp.LoadedApplications获得一个成功加载插件的列表(成功被加载的插件的列表?这样读是不是)
 6.2.3自定义按钮创建
7.document文档类
7.1 UIDocument
7.1.1 获取
UIDocument uiDoc = commandData.Application.ActiveUIDocument;
7.1.2参数
7.2 Document 
获取元素,管理元素和文件管理。
7.2.1获取
                Document doc = uiDoc.Document;
7.2.1参数
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值