Revit二次开发入门——创建外部命令
来源:互联网 发布:网络签约作家 编辑:程序博客网 时间:2024/05/16 07:17
1、新建一个类库工程
2、引用Revit接口定义文件 RevitAPI.DLL和RevitAPIUI.DLL
将复制本地属性改为 False
3、命名空间引用
4、为命名类加属性
5、新建类从IExternalCommand派生
6、重载Execute()方法
7、在Execute中添加代码来实现命令功能
引入RevitAPI ,RevitAPIUI后,属性中复制本地改为False.
[Transaction(TransactionMode.Manual)]
外部命令中Excute函数的定义
public interface IEternalCommand{ public Autodesk.Revit.UI.Result Execute( Autodesk.Revit.UI.ExternalCommandData commandData, ref string message, Autodesk.Revit.DB.ElementSet elements)}
以下代码可运行
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using Autodesk.Revit.UI;using Autodesk.Revit.DB;using Autodesk.Revit.ApplicationServices;using Autodesk.Revit.Attributes;using System.Windows.Forms;namespace HelloWorld{ [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)] [Regeneration(RegenerationOption.Manual)] public class ArgumentUsage : IExternalCommand { public Autodesk.Revit.UI.Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) { // TaskDialog.Show("Revit","HelloWorld"); // return Autodesk.Revit.UI.Result.Succeeded; // MessageBox.Show("HelloWorld"); UIApplication uiApp = commandData.Application; Autodesk.Revit.ApplicationServices.Application app = uiApp.Application; Document doc = uiApp.ActiveUIDocument.Document; string strAppInfo = app.VersionBuild + ";" + app.VersionName + ";" + app.VersionNumber; Autodesk.Revit.UI.Selection.Selection sel = uiApp.ActiveUIDocument.Selection; foreach (Element elem in sel.Elements) { elements.Insert(elem); } message = "当前选择集中包含如下对象"; return Result.Failed; } }}
0 0
- Revit二次开发入门——创建外部命令
- Revit二次开发入门——Task Dialogs
- Revit二次开发之“创建窗体执行Revit命令”
- Revit二次开发之关于外部命令IExternalCommand【比目鱼原创】
- Revit二次开发入门——获取模型中门窗数量
- Revit二次开发入门——通过过滤器获取元素
- Revit二次开发入门——获取和修改元素参数
- Revit二次开发入门——重要的属性和方法
- Revit二次开发之入门
- revit二次开发-HelloWorld,入门
- Revit二次开发入门--创建一个简单的程序
- Revit 及 Revit二次开发入门笔记
- Revit二次开发——revit怎么给桥梁加钢筋
- Revit二次开发---入门小笔记
- revit二次开发——自适应构件族
- Revit二次开发——场地地形
- Revit二次开发——空间曲线
- Revit二次开发_在Revit启动后创建Tab
- ListView中getChildAt(index)的使用注意事项
- MySQL 存储过程中的循环
- mysql导入sql报错 Unknown command '\''.
- 自己编写jQuery插件
- hibernate多对多关联(六)
- Revit二次开发入门——创建外部命令
- 关于微信分享支付的一些问题
- UE4简单巡逻BehaviorTree的构建
- fir.im Weekly - 17 个提升 iOS 开发效率的必备工具
- 图像处理中的数学原理详解14——曲面积分
- dp与px的转换
- 常用界面交替动画样式以及View动态样式
- impdp卡住,遇到等待事件Streams AQ: enqueue blocked on low memory
- 华为oj输入n个整数,输出其中最小的k个