创建一个简单的Revit外部命令程序【Revit2017+VS2015】:
1、打开VS,我的版本是VS2015,点击【新建项目】→【Visual C#】→【类库】,然后输入程序名称,如:Hello World。

2、点击【项目】→【添加引用】→【浏览】,在Revit安装目录下找到【RevitAPI.dll】和【RevitAPIUI.dll】并添加。

3、在【解决方案资源管理器】中,右键【RevitAPI】和【RevitAPIUI】,点击【属性】,将属性【复制本地】改False。
(如果不修改此项属性,则会将大量引用文件复制到输出目录中)

4、【解决方案资源管理器】中,修改类名,默认为Class1。(如果不想修改类名,可以跳过此步骤)

5、类中代码如下:

using Autodesk.Revit;
using Autodesk.Revit.DB;
using Autodesk.Revit.UI;
using Autodesk.Revit.Attributes;
namespace Hello_World
{[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;}}
}  

6、选择【项目】→【属性】→【调试】→【启动外部程序】,找到Revit安装目录,选择Revit.exe,例如:我的是D:\Revit2017\Revit 2017\Revit.exe,点击保存。

7、完成以上步骤后,便可以【启动】项目了,项目编译完之后,类库文件(Hello World.dll)便输出到了你的Debug文件夹中。
那么在得到了程序拓展文件(XXX.dll)之后,我们该如何把它加入到Revit中呢?

8、找到文件夹【C:\Users\Administrator\AppData\Roaming\Autodesk\Revit\Addins\2017】(我使用的是Win10系统,Win7自行对应)
新建一个记事本【Hello World.addin】文件,内容如下:

<?xml version="1.0" encoding="utf-8"?>
<RevitAddIns><AddIn Type="Command"><VendorId>ACID</VendorId><Text>Hello Revit</Text><Description>Hello World to Revit.</Description><FullClassName>Hello_World.Command</FullClassName><Assembly>F:\MyTestDemos\Hello World\Hello World\bin\Debug\Hello World.dll</Assembly><AddInId>E2CB270D-2889-48AD-8193-C93663BE7AD9</AddInId></AddIn>
</RevitAddIns>

【VendorId】,开发商Id,可以自己随意取名。
【Text】,Revit中插件的名称。
【Description】,插件的描述信息。(可不写这项)
【FullClassName】,类名。注意:得填写完整的【命名空间.类名】。
【Assembly】,需要加载的程序集的完整路径。
【AddIn】,这一项在VS的【工具】→【创建GUID】中获得。

完成以上所有步骤后,打开Revit应用程序,【附加模块】→【外部工具】→,就可以看见你的Hello World插件了。

Revit二次开发入门--创建一个简单的程序相关推荐

  1. revit二次开发概念_BIM百科 | Revit二次开发入门--创建一个简单的程序

    获取<每日一技,我的成长轨迹>汇总 · 请访问柏慕联创官方网站: www.lcbim.com · 创建一个简单的Revit外部命令程序[Revit2017+VS2015]: 1.打开VS, ...

  2. bim 二次开发c语言,BIM百科 | Revit二次开发入门--创建一个简单的程序①

    获取<每日一技,我的成长轨迹>汇总 · 请访问柏慕联创官方网站: www.lcbim.com · Revit插件制作实例步骤: 1.创建你的第一步骤插件 启动 Visual C# 速成版开 ...

  3. 【Revit二次开发】创建一个拉伸实体(正方体)+创建一个自定义族类型

    写在前面 这个例子是在族文件是测试的(打开Revit,选择新建族,选择公制常规模型,如下图一).创建好以后是空白的,如下图二 图一 图二 实现例子前有几个疑问: 拉伸实体是什么?创建拉伸实体的方法是什 ...

  4. Revit二次开发入门秘籍 01如何入门

    关于入门 我想在开始学习之前大家应该更需要知道如何入门,对比一下我们在学校的学习,我们需要书.老师-书上呢,是有所有的知识点,有重要的,有不重要的,而老师呢,会知道哪些是重点,也就是我们考试要考的,教 ...

  5. Revit二次开发入门捷径_升维学习、降维打击

    问题 入门Revit二次开发有捷径吗? 答案 量子力学:有也没有.(皮一下:叠加态) 没有:目的地只有一个,路只有一条,学习没有捷径. 有:虽然路只有一条,但我们可以借助交通工具,缩短时间就是捷径. ...

  6. Revit二次开发入门相关安装和配置

    Revit二次开发入门相关安装和配置 最近一周,由于项目需要,需要做一个基于Revit的二次开发项目,也特意初步自学了Revit二次开发的相关知识.由于学习时间过短,了解到的只是皮毛,所有还希望大家能 ...

  7. Revit二次开发入门教程一(工具篇)

    对BIM开发感兴趣的读者可以关注我的BIM开发系列教程 什么是BIM开发?这篇文章可以告诉你 Revit二次开发教程提纲 Revit二次开发编程入门一(工具篇) 前言 BIM诞生的背景 Revit在B ...

  8. Revit二次开发入门关键

    学会学习 什么是学习? 学得:通过学,获得的知识. 假会!眼睛:我会了!脑子:我会了!手:不,你不会!!! 习得:通过练习,获得的知识. 真会!手:我会了!基本不用经过太多的思考! 没意识到:好运~! ...

  9. 【Revit 二次开发 】创建带箭头的文字注释(字体设置+引线箭头设置)

    此篇文章仅是自己的开发经验分享,不具备官方参考价值,如有不足,欢迎批评指正 开发目的: 创建一个带箭头的文字注释 字体为新宋体,大小2.5mm,宽度系数0.7,箭头为30度实心箭头 like this ...

最新文章

  1. ThreadLocal的使用方法
  2. 如何读取多个文件,文件后缀名不一致,不过类似source.1 source.2 source.3等
  3. PHP中的MYSQL常用函数(php下操作数据库必备)
  4. 3.2.4 迁移学习和多任务学习
  5. ftp上传当天文件的方法_五种方法将文件上传到FTP服务器
  6. 关于文件操作的\r\n问题。
  7. 在 SAP BTP Kyma Runtime 上使用 Redis 读取和存储数据
  8. js 编程时注意事项
  9. java不需要返回数据时_从Java方法返回时,BigDecimal不保持实际值
  10. SCCM 2012 R2 从入门到精通 Part8 软件部署
  11. 制作chrome插件教程
  12. 旅游规划 (25 分)(Dijkstra)
  13. springboot内置浏览器_springboot-为内置tomcat设置虚拟目录
  14. CarSim仿真快速入门(十四)—CarSim-Simulink联合仿真
  15. 《Python金融大数据风控建模实战》 第5章 变量编码方法
  16. (一)文件系统-ext4特性
  17. Mac 在当前目录打开终端
  18. excel选择性粘贴为何是html,选择性粘贴,教您excel选择性粘贴怎么用
  19. java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnvironment
  20. ipad显示已停用,连接itunes

热门文章

  1. FastAPI简单示例
  2. IF: 8+ m6A调控因子与m6A相关的lnc/mRNA作为结直肠癌预后因子的综合性分析
  3. Java Web之JSP技术
  4. Android Studio快速集成讯飞SDK实现文字朗读功能
  5. 好用的街机模拟器-WinKawaks提供下载
  6. 联想启天M420-D046(C)电脑Win10改Win7
  7. @keyup.enter.native
  8. c++中二维数组与二维向量的长度
  9. vim autoformat php,Linux Vim代码格式化/美化插件vim-autoformat安装
  10. 模拟web访问有登录且有验证码的登录后抓取数据