这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
faq:revit:plugin [2021/10/27 17:41] fox |
— (当前版本) | ||
---|---|---|---|
行 1: | 行 1: | ||
- | ====Revit插件问题==== | ||
- | |||
- | Revit的二次开发,跟版本关系比较大,这里Revit用的是**2019**版本,vs用的是**2017**版本,开发用的语言是C# | ||
- | |||
- | - 操作系统:Windows10 64位版本 | ||
- | - Revit2019版本,请到Autodesk下载即可 | ||
- | - Visual Studio 2017版本,请到微软公司下载即可,注意vs安装时,要安装C# | ||
- | - 特别注意:Revit官方要求,2019Revit要匹配的.Net框架版本是4.7,在这里我只找到了4.7.1,大版本号一致,最后看起来没问题。 | ||
- | - 安装RevitSDK 2019,应该是用来二次开发的SDK,下载地址[[http:// | ||
- | - 安装插件管理,只有安装了插件管理,才会在附加模块中多出一个外部工具选项。如果已经安装了RevitSDK,它包含了插件管理器。 | ||
- | - 配置插件管理器,将dll和addin文件拷贝到Revit插件目录下,并修改addin文件的具体内容,比较烦琐,[[faq: | ||
- | - 安装RevitLookup插件,[[ https:// | ||
- | - 下载后解压到RevitSDK目录下,寻找RevitLook.sln文件,用VS打开,更换6个引用,AdWindows,RevitAPI,RevitAPIIFC,RevitAPIMacros,RevitAPIUI,RevitAPIMacros | ||
- | - 找到RevitLookup.addin,也比较烦琐,[[faq: | ||
- | - 终于到了写HelloWorld | ||
- | - vs2017中新建项目,在模板中选择Visual C#,和 **类库(.Net Framework)** ,注意记住项目的名字,**后续会用到**。 | ||
- | - 在解决方案管理其中,添加引用。在引用管理器中选择“浏览”,在Revit安装目录下找到RevitAPI.dll和RevitAPIUI.dll。 | ||
- | - 上述两个引用的“复制到本地”属性改为False,我们不需要拷贝它们只要引用就好。 | ||
- | - 把代码改成如下:< | ||
- | using Autodesk.Revit.DB; | ||
- | using Autodesk.Revit.UI; | ||
- | using Autodesk.Revit.Attributes; | ||
- | |||
- | namespace revit_plus1 | ||
- | { | ||
- | [TransactionAttribute(TransactionMode.Manual)] | ||
- | // | ||
- | public class Class1 : IExternalCommand | ||
- | { | ||
- | public Result Execute(ExternalCommandData commandData, | ||
- | { | ||
- | TaskDialog.Show(" | ||
- | return Autodesk.Revit.UI.Result.Succeeded; | ||
- | } | ||
- | } | ||
- | } | ||
- | </ | ||
- | - 注意修改平台类型,在VS的 “生成” -> “配置管理器” -> “活动解决方案平台” 中增加 “**X64**”平台 | ||
- | - 编译成功后,在项目 “属性”→“生成”→“输出”→“输出路径”能看到dll最终在哪个目录,最后注意dll生成时间可判断是否新生成 | ||
- | - 在Revit插件目录增加一个“HelloWorld.addin”: | ||
- | <?xml version =" | ||
- | < | ||
- | <AddIn Type=" | ||
- | < | ||
- | < | ||
- | < | ||
- | < | ||
- | < | ||
- | </ | ||
- | </ | ||
- | </ | ||
- | - 启动Revit,在“附加模块”→“外部工具”的下拉箭头处找到“HelloWorld”,执行后,可以看到弹出对话框,搞定 | ||