revit二次开发-HelloWorld,入门
来源:互联网 发布:淘宝裤子穿2天起皱 编辑:程序博客网 时间:2024/05/16 18:52
因为在程序中反复需要用到revit的模型,可是revit模型的操作对于开发来说,局限性很大,因此做一些插件进行自动化管理。
本文先根据教程,做一个HelloWorld程序,为了方便,本文安装的revit版本是2014版,visual studio使用的是vs2012。
1、安装revit及其sdk
revit的安装不复述,但是装完后还需要安装其sdk。
revit解压缩后,找到解压路径下的“\Utilities\SDK\RevitSDK.exe”运行,指定sdk解压路径。
下载AddInManager配置文件,可以网络搜索,或者使用作者分享的文件链接: http://download.csdn.net/download/xuwuxiu/9898218
然后,在revit解压目录下搜索“AddInManager”,可以得到如下文件:
此步骤网络上很多教程都说revit的sdk目录下自带AddInManager,但是作者没找到,并且因此废了不少时间,最终以此方法得到这些文件。
复制其中的AddInManager.dll的目录路径,然后使用记事本打开下载下来的Autodesk.AddInManager.addin及Autodesk.AddInManager-Automatic.addin,如图,将原来的AddInManager.dll的路径替换为本机AddInManager.dll的路径。
接下来,将Autodesk.AddInManager.addin及Autodesk.AddInManager-Automatic.addin复制到目录C:\ProgramData\Application Data\Autodesk\Revit\Addins\2014
过程中可能会遇到“documentsandsettings拒绝访问”等问题,解决办法可以参照http://jingyan.baidu.com/article/1e5468f92afe08484961b793.html
打开revit,在附加模块-外部工具即可看到如图菜单。
2、创建项目
1)打开VS,点击【新建项目】→【Visual C#】→【类库】,然后输入程序名称,如:Hello World。
2)点击【项目】→【添加引用】→【浏览】,在Revit安装目录下找到【RevitAPI.dll】和【RevitAPIUI.dll】并添加。
3)此步骤并非必须。
在【解决方案资源管理器】中,右键【RevitAPI】和【RevitAPIUI】,点击【属性】,将属性【复制本地】改False。
4)编写代码
添加using及对应代码,代码如下:
using Autodesk.Revit;using Autodesk.Revit.DB;using Autodesk.Revit.UI;using Autodesk.Revit.Attributes;namespace helloworld{ [Transaction(TransactionMode.Manual)] public class Command : IExternalCommand { public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) { try { TaskDialog.Show("Hello", "First Revit Program."); } catch (Exception e) { message = e.Message; return Result.Failed; } return Result.Succeeded; } }}
5)选择【项目】→【属性】→【调试】→【启动外部程序】,找到Revit安装目录,选择Revit.exe,点击保存。然后点击启动生成,在Debug目录下会生成HelloWorld.dll
3、部署插件
1)打开目录“C:\Users\你的用户名\AppData\Roaming\Autodesk\Revit\Addins\2014”,创建一个addin文件,如HelloWorld.addin,用记事本打开编辑,添加如下内容:
<?xml version="1.0" encoding="utf-8"?><RevitAddIns> <AddIn Type="Command"> <VendorId>miror</VendorId> <Text>Hello Revit</Text> <Description>Hello World to Revit.</Description> <FullClassName>helloworld.Command</FullClassName> <Assembly>E:\1hololens\projects\revit\helloworld\helloworld\bin\Debug\helloworld.dll</Assembly> <AddInId>2A7F31C5-8FDE-417F-8FE7-CF38768A5D69</AddInId> </AddIn></RevitAddIns>
其中,各个字段的意义如下:
【VendorId】,开发商Id,可以自己随意取名。
【Text】,Revit中插件的名称。
【Description】,插件的描述信息。(可不写这项)
【FullClassName】,类名。注意:得填写完整的【命名空间.类名】,如本例的命名空间为helloworld,类名为command。
【Assembly】,需要加载的程序集的完整路径,调试的时候,可以填写debug目录下的dll路径。
【AddIn】,在VS的【工具】→【创建GUID】,选择注册表格式,可以取得,点击复制,粘贴到字段为“{2A7F31C5-8FDE-417F-8FE7-CF38768A5D69}”,删除前后括弧即可。
2)重启revit,可以看到你的第一个插件了。
- revit二次开发-HelloWorld,入门
- <Revit二次开发>HelloWorld
- Revit二次开发之入门
- Revit 及 Revit二次开发入门笔记
- Revit二次开发---入门小笔记
- Revit二次开发入门相关安装和配置
- Revit二次开发入门——Task Dialogs
- Revit 二次开发
- Revit二次开发从入门到精通学习之路, (含Revit二次开发教程下载)
- Revit二次开发从入门到精通学习之路
- Revit二次开发入门——创建外部命令
- Revit二次开发入门——获取模型中门窗数量
- Revit二次开发入门——通过过滤器获取元素
- Revit二次开发入门——获取和修改元素参数
- Revit二次开发入门——重要的属性和方法
- Revit二次开发入门--创建一个简单的程序
- Revit二次开发从入门到精通学习之路
- Revit 二次开发现状(2009)
- NP问题证明
- HDU 2159 FATE(完全背包)
- EditText获取被点击的字符,并选中(解决越界,解决不能获取焦点)
- IIS部署.NET项目
- Python--CSV文件处理
- revit二次开发-HelloWorld,入门
- Tomcat 服务器对请求中一些特殊的符号需作处理
- c++ Premier 学习笔记(unit2 变量和基本类型
- 1019. 数字黑洞
- 合并两个有序链表,合并以后的链表依旧有序
- 关于JavaSE基础逻辑
- Elasticsearch 1.7.3 groovy are disabled
- CodeForces 814E An unavoidable detour for home题解
- maven整合web工程Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].StandardContex