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,可以看到你的第一个插件了。
这里写图片描述

原创粉丝点击