【Revit二次开发学习笔记】HelloWorld
我看的书是《AUTODESK REVIT 二次开发基础教程》
我发现我还是因为太菜了,所以看不太懂书上前两章的内容
所以直接从实战示例跟着做
————————————————————————————————
第一步:打开 Visual Studio 新建一个类库(.dll)的项目
因为 revit 的插件只能通过 .dll 文件来进行访问(好像是这样,我也不太确定)
这个地方需要注意,因为是 vs2019 所以创建项目的选项和以前有些不一样
类库还有一个是 .NET Standard 的 ,这个是不行的噢。
第二步:添加引用
我们需要下载 RevitAPI.dll 和 RevitAPIUI.dll 并将他们引用一下,这样才可以调用到 revit 提供给我们的接口
如果不需要将他们保存到本地,可以在他们的属性菜单里面关闭
第三步:编写项目代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Autodesk.Revit.UI;
using Autodesk.Revit.DB;
namespace ClassLibrary1
{
[Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)]
public class Class1:IExternalCommand
{
public Autodesk.Revit.UI.Result Execute(ExternalCommandData revit,ref string message,ElementSet element)
{
TaskDialog.Show("Revit", "Hello World");
return Autodesk.Revit.UI.Result.Succeeded;
}
}
}
需要在代码前面加入
using Autodesk.Revit.UI;
using Autodesk.Revit.DB;
然后调用 Revit 的 IExternalCommand 接口
TaskDialog 是 Revit UI 里面的弹出窗口
最后需要 返回一个 Succeeded
第四步:编写 addin 文件
因为 Revit 的启动逻辑 是在软件启动的时候,会去相对应的目录里面读取 addin 文件的
所以我们需要添加一个 addin 文件,这样就可以 连接到我们的项目文件上了
路径通常是
C:\ProgramData\Autodesk\Revit\Addins\你使用的Revit版本号
然后新建一个后缀为 .addin 的文件
输入以下内容并保存
<?xml version="1.0" encoding="utf-8"?>
<RevitAddIns>
<AddIn Type="Command">
<Name>ZY</Name>
<!-- <下面一条语句中的路径是项目编译(生成)时产生的dll的路径> -->
<Assembly>D:\1a_zys\revitproject\hellorevit\ClassLibrary1\bin\Debug\ClassLibrary1.dll</Assembly>
<!-- <AddInId>下面一条语句是你的项目的GUID码</AddInId> -->
<AddInId>052370c1-8119-4772-a6bb-f0c803bd3633</AddInId>
<!-- <下面一条语句中的类名是创建项目时的类名> -->
<FullClassName>ClassLibrary1.Class1</FullClassName>
<!-- <下面一条语句中的在revit中显示的插件名称> -->
<Text>hellorevit</Text>
<VendorId>NAME</VendorId>
<VendorDescription>Your Company Information</VendorDescription>
</AddIn>
</RevitAddIns>
第五步:
定位好路径,关联好 addin 文件 和 项目文件
接下来就可以查看一下这次的成果了
打开 Revit 相应的版本
然后点击上方菜单栏中的
附加模块 ==> 外部工具 ==> hellorevit
完成!
上一篇: 使用pytorch出现src/tcmalloc.cc:277] Attempt to free invalid pointer 0x7f4685efcd40 Aborted (core dumpe)
推荐阅读
-
【Revit二次开发学习笔记】HelloWorld
-
yigo基础学习笔记5_yigo二次开发配置
-
java 学习笔记(入门篇)_java程序helloWorld
-
java 学习笔记(入门篇)_java程序helloWorld
-
Vue.js学习笔记之 helloworld
-
【Flask学习笔记】环境部署,helloworld,路由与反向路由(一)
-
[学习笔记] SpringBoot 之 Helloworld
-
Vue.js学习笔记之 helloworld
-
jQuery学习笔记之Helloworld_jquery
-
【笔记】《WebGL编程指南》学习-第2章WebGL入门(2-WebGL的HelloWorld)