Revit二次开发--Hello World
部署完开发环境,就要进行每次学习新的技能,必写的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相关推荐
- Revit二次开发 - C#程序员的佳好选择
虽然Revit的使用者和开发目前在中国都很少,但是这是个趋势. 未来Revit会在许多方面取代Autocad 做CAD二次开发的,在中国也很吃香. 但是使用C++难倒了许多人. 而Revit二次开发可 ...
- Revit二次开发_1.过滤器笔记篇
Revit二次开发_1.过滤器笔记篇 前言 对象分类 过滤方法 前言 最近在用过滤器功能,先按照教程做了筛选墙,再自己做了筛选常规模型的功能,发现有点不一样,问题在于筛选这些Elements的时候没弄 ...
- revit二次开发之教学视频
一.背景 刚入门revit二次开发的小伙伴,很多是零基础的工程人员,为了解决这个问题,博主做了revit二次开发的一系列教学视频(包括C#基础与revit二次开发两个模块),来帮助大家更好的入门. 二 ...
- Revit二次开发——引用dynamo中的几何库
前沿 dynamo的几何库其实是非常强大的,如果自己靠着RevitAPI去写还是非常费劲的.所以想引用dynamo的几何库来做一些工作.主要参考的就是这篇文章.Revit二次开发--不开启Dynamo ...
- revit二次开发之程序调试
欢迎加入BIM行业开发交流1群 群号:711844216(满),二群群号:1016453207 需要Revit二次开发全流程教学 的朋友可以联系我qq:1056295111 一.背景 小伙伴们在rev ...
- revit二次开发之多线程的正确使用
欢迎加入BIM行业开发交流1群 群号:711844216(满),二群群号:1016453207 一.背景 小伙伴们为了加快revit程序运行速度, 可能会考虑使用多线程,但是我们必须首先搞清楚一个问题 ...
- Revit二次开发入门秘籍 01如何入门
关于入门 我想在开始学习之前大家应该更需要知道如何入门,对比一下我们在学校的学习,我们需要书.老师-书上呢,是有所有的知识点,有重要的,有不重要的,而老师呢,会知道哪些是重点,也就是我们考试要考的,教 ...
- revit二次开发之数据库的使用
一.背景 小伙伴们在revit二次开发时,可能会需要与数据库做交互,那么如何实现呢? 二.思路 笔者为此录制了一个教学视频,通俗易懂,大家直接看就行了 地址:https://www.bilibili. ...
- Revit二次开发之绘制钢筋
第一次在博客园上写东西,也不知道该写些什么,我想就写点最近项目到遇到的问题吧. 最近在做一个小项目,具体需求大概是在一个revit模型中的对应的楼板位置绘制钢筋. 由于刚接触Revit二次开发,之前也 ...
- Revit二次开发—载入族并交互式放置
文章目录 核心代码 问题一:按esc取消放置时报错 问题二:如何在放置一个族实例之后退出放置 问题三:已存在所载入族时,如何正常放置 参考资料 核心代码 using (Transaction tx = ...
最新文章
- Windows 编程[9] - WM_CLOSE 消息
- 怎么扫描_打印机上扫描仪怎么用 打印机上扫描仪使用及添加方法
- linux下面显示所有正在运行的线程
- 美国计算机专业 学校推荐信,美国大学计算机专业推荐信范文
- 【流媒体服务器的搭建】1. 源码编译安装x264
- mysql 运维 最佳实践_Mysql 开发最佳实践
- FLEX AIR添加系统托盘图标步骤
- 深度残差网络(ResNet)详解与实现(tensorflow2.x)
- .NET数据访问是否采用ORM(自译)
- C# 线程间互相通信
- ARM汇编,MCR和MRC
- HDOJ 3537 Daizhenyang's Coin (翻硬币游戏)
- Raft 算法 详细版介绍
- vue3.0父传子,父传孙,子传孙,孙传父,孙传子的传值
- 游戏策划入门(1)——什么样的创意是能够实现的?
- PyQt模拟微信聊天页面开发
- android中可左右滑动输入框
- 给idea设置默认使用的maven配置
- 计算机二级可报多科,【通知提醒】计算机二级又要报名啦!
- 通网网站被大规模挂马 15个频道中病毒
热门文章
- 【模拟】【贪心】POJ2709Painter
- websocket在.net4.5中实现的简单demo
- IOS6学习笔记(四)
- SQL With As 用法Sql 四大排名函数(ROW_NUMBER、RANK、DENSE_RANK、NTILE)简介
- 问题1 机器学习篇 如何解决过拟合(overfiting)?
- 第六周实践作业:软件测试和评估
- 转:TestLink1.9.3测试用例:Excel转换XML工具二实现代码
- Android 用户界面---定制组件(Custom Components)
- Java语言编码规范(1)
- Intel汇编语言程序设计学习-第三章 汇编语言基础-上