本帖最后由 luowy 于 2021-7-22 16:21 编辑
安装 1. Revit 2018 ; 2. Visual Studio 2017(用于代码编写) ; 3. Revit SDK 2018 (用于代码测试); 4. AddinManager ; 5. Revit Lookup; 6. ILSpy 4.0.1; Revit 2018 这个直接在Autodesk上就可以找到,找到直接安装就好了,这里不赘述,太旧的版本就不必装了。 Visual Studio 2017 在VS社区可以找到,点击这里下载。
注意各种.NET框架的安装,另外也要安装 .Net Core。根据官方某英文页面的说法,Revit 2018对应 .NET Framework 4.7。
Revit SDK 2018 下载地址这里。最好和Revit 2018安装在同一路径,方便查找。 配置AddinManager SDK安装后包含了REVIT SDK文件和AddInManager,插件用来允许外部二次开发代码。 在windows7以上环境中需打开显示隐藏文件才能进行看到下面的目录C:\ProgramData\Autodesk\Revit\Addins\2018 复制SDK文件下的Add-In Manager目录下的AddInManager.dll和Autodesk.AddInManager.addin文件到上面的目录中,更改Autodesk.AddInManager.addin文件中的标签中的东西,里面的路径为SDK的实际安装路径,然后保存。 - <blockquote><?xml version="1.0" encoding="utf-8"?>
复制代码更改后打开Revit 2018即可在附加模块看到安装的插件。
Revit Lookup
下载 地址,
选择Download ZIP,下载后解压在Revit SDK安装路径下,点击进入文件夹找到RevitLookup文件(为sln格式),使用VS打开。 打开后重新添加以下引用(这几个引用未重新引用之前会带有黄色标记),在Revit安装路径下可以找到这些dll。之后进行生成,这样会在D:\REVIT 2018 SDK\RevitLookup-2018.0.0.7\CS\bin\Debug文件夹中生成RevitLookup.dll编译文件。
进入 D:\REVIT 2018 SDK\RevitLookup-2018.0.0.7\CS路径下找到RevitLookup.addin文件,对文件进行编辑修改,将里面的第4行修改为(即上述编译生成的RevitLookup.dll所在的路径):
- <blockquote><?xml version="1.0" encoding="utf-8" standalone="no"?>
复制代码将其拷贝到下列目录中: C:\ProgramData\Autodesk\Revit\Addins\2018,这便完成了RevitLookup的安装。如果Revit 2018 正在运行,则需要关闭后重启才能在附加模块看到Lookup。 ILSpy 4.0.1 测试 1、启动Visual Studio,新建项目,在“模板”里选择“Visual C#”→“类库(.Net Framework)”,在下方的名称栏填上Hello Revit。
2、添加引用,在引用管理器中选择“浏览”,在Revit安装目录下找到RevitAPI.dll和RevitAPIUI.dll,把这两个文件分别添加到项目中。然后记得把上述两个引用的“复制到本地”属性改为False,否则你编译会生成一大堆没什么用的东西。因为我们做的是插件,不可能脱离Revit程序本身来运行的。
3、把默认生成的“using……”代码块只留下
using System;
在后面加上
using Autodesk.Revit.DB;
using Autodesk.Revit.UI;
using Autodesk.Revit.Attributes;
4、在默认生成的public class Class1{}前面加上
[Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)]
5、把默认生成的public class Class1{}改成
public class Class1: IExternalCommand{}
6、在public class Class1: IExternalCommand{}内部添加
public Result Execute(ExternalCommandData commandData, ref string message,ElementSet elements) { }
7、在public Result Execute(ExternalCommandData commandData,ref string message, ElementSet elements) { }内部添加
TaskDialog.Show(“Demo”, “Hello Revit!”);
return Result.Succeeded;
8、完成的代码应该是这个样子: ![](source/plugin/imc_colorcode/images/loading.gif) - <blockquote>using System; using Autodesk.Revit.DB;
|