部署完开发环境,就要进行每次学习新的技能,必写的Hello World。

1、打开VS开发环境,新建一个项目类库RevitDemo。

2、修改Class1名称为Command。

3、在引用中添加RevitAPI,RevitAPIUI的dll,注意将这两个dll的复制本地改为flase,否则将复制大量的dll到运行目录。

4、写下以下代码,保存,因为我的Revit为2017,.net框架运行版本需设置为4.5.2.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Autodesk.Revit;
using Autodesk.Revit.DB;
using Autodesk.Revit.UI;
using Autodesk.Revit.Attributes;namespace RevitDemo
{[Transaction(TransactionMode.Manual)]public class Command : IExternalCommand{public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements){try{TaskDialog.Show("Hello", "Hello World.");}catch (Exception e){message = e.Message;return Result.Failed;}return Result.Succeeded;}}
}

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

6、完成以上步骤后,便可以启动项目了,为了看到效果我们还需要做其他操作

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

<?xml version="1.0" encoding="utf-8"?>
<RevitAddIns><AddIn Type="Command"><Assembly>RevitDemo.dll</Assembly><ClientId>85063e45-e4b5-4621-b142-bce195e0bacc</ClientId><FullClassName>RevitDemo.Command</FullClassName><Text>RevitDemoCommand</Text><VisibilityMode>AlwaysVisible</VisibilityMode><LanguageType>Unknown</LanguageType><VendorId>cnsb</VendorId><VendorDescription>cnsb, www.cnsb.top</VendorDescription></AddIn>
</RevitAddIns>

Assembly填写你刚才编写的dll的全路径

ClientId 为生成一个新的GUID
FullClassName为启动的类名,为完整的命名空间+类名
Text插件名称
VendorId 为开发者名称

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

转载于:https://www.cnblogs.com/anglevicky/p/6970823.html

Revit二次开发--Hello World相关推荐

  1. Revit二次开发 - C#程序员的佳好选择

    虽然Revit的使用者和开发目前在中国都很少,但是这是个趋势. 未来Revit会在许多方面取代Autocad 做CAD二次开发的,在中国也很吃香. 但是使用C++难倒了许多人. 而Revit二次开发可 ...

  2. Revit二次开发_1.过滤器笔记篇

    Revit二次开发_1.过滤器笔记篇 前言 对象分类 过滤方法 前言 最近在用过滤器功能,先按照教程做了筛选墙,再自己做了筛选常规模型的功能,发现有点不一样,问题在于筛选这些Elements的时候没弄 ...

  3. revit二次开发之教学视频

    一.背景 刚入门revit二次开发的小伙伴,很多是零基础的工程人员,为了解决这个问题,博主做了revit二次开发的一系列教学视频(包括C#基础与revit二次开发两个模块),来帮助大家更好的入门. 二 ...

  4. Revit二次开发——引用dynamo中的几何库

    前沿 dynamo的几何库其实是非常强大的,如果自己靠着RevitAPI去写还是非常费劲的.所以想引用dynamo的几何库来做一些工作.主要参考的就是这篇文章.Revit二次开发--不开启Dynamo ...

  5. revit二次开发之程序调试

    欢迎加入BIM行业开发交流1群 群号:711844216(满),二群群号:1016453207 需要Revit二次开发全流程教学 的朋友可以联系我qq:1056295111 一.背景 小伙伴们在rev ...

  6. revit二次开发之多线程的正确使用

    欢迎加入BIM行业开发交流1群 群号:711844216(满),二群群号:1016453207 一.背景 小伙伴们为了加快revit程序运行速度, 可能会考虑使用多线程,但是我们必须首先搞清楚一个问题 ...

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

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

  8. revit二次开发之数据库的使用

    一.背景 小伙伴们在revit二次开发时,可能会需要与数据库做交互,那么如何实现呢? 二.思路 笔者为此录制了一个教学视频,通俗易懂,大家直接看就行了 地址:https://www.bilibili. ...

  9. Revit二次开发之绘制钢筋

    第一次在博客园上写东西,也不知道该写些什么,我想就写点最近项目到遇到的问题吧. 最近在做一个小项目,具体需求大概是在一个revit模型中的对应的楼板位置绘制钢筋. 由于刚接触Revit二次开发,之前也 ...

  10. Revit二次开发—载入族并交互式放置

    文章目录 核心代码 问题一:按esc取消放置时报错 问题二:如何在放置一个族实例之后退出放置 问题三:已存在所载入族时,如何正常放置 参考资料 核心代码 using (Transaction tx = ...

最新文章

  1. Windows 编程[9] - WM_CLOSE 消息
  2. 怎么扫描_打印机上扫描仪怎么用 打印机上扫描仪使用及添加方法
  3. linux下面显示所有正在运行的线程
  4. 美国计算机专业 学校推荐信,美国大学计算机专业推荐信范文
  5. 【流媒体服务器的搭建】1. 源码编译安装x264
  6. mysql 运维 最佳实践_Mysql 开发最佳实践
  7. FLEX AIR添加系统托盘图标步骤
  8. 深度残差网络(ResNet)详解与实现(tensorflow2.x)
  9. .NET数据访问是否采用ORM(自译)
  10. C# 线程间互相通信
  11. ARM汇编,MCR和MRC
  12. HDOJ 3537 Daizhenyang's Coin (翻硬币游戏)
  13. Raft 算法 详细版介绍
  14. vue3.0父传子,父传孙,子传孙,孙传父,孙传子的传值
  15. 游戏策划入门(1)——什么样的创意是能够实现的?
  16. PyQt模拟微信聊天页面开发
  17. android中可左右滑动输入框
  18. 给idea设置默认使用的maven配置
  19. 计算机二级可报多科,【通知提醒】计算机二级又要报名啦!
  20. 通网网站被大规模挂马 15个频道中病毒

热门文章

  1. 【模拟】【贪心】POJ2709Painter
  2. websocket在.net4.5中实现的简单demo
  3. IOS6学习笔记(四)
  4. SQL With As 用法Sql 四大排名函数(ROW_NUMBER、RANK、DENSE_RANK、NTILE)简介
  5. 问题1 机器学习篇 如何解决过拟合(overfiting)?
  6. 第六周实践作业:软件测试和评估
  7. 转:TestLink1.9.3测试用例:Excel转换XML工具二实现代码
  8. Android 用户界面---定制组件(Custom Components)
  9. Java语言编码规范(1)
  10. Intel汇编语言程序设计学习-第三章 汇编语言基础-上