Revit二次开发环境搭建(Revit 2019+Visual Studio 2017)准备内容


Revit 2019开发环境的搭建,需要安装的内容如下:
  1. Revit 2019(主要的开发环境)
  2. Visual Studio 2019(用于代码的编写)
  3. Revit SDK 2019
  4. AddinManager(用于管理二次开发插件)
  5. Revit Lookup(查看工具)
  6. lLSpy 4.0.1(查看Revit API)

安装


        系统要求:Windows 10 (x64)

Revit 2020 的安装

        可以选择浏览器搜索Revit找到官网下载,只能试用版本(2020可能已经试用版和正式版2合1了,但是试用到期之后还是要钱)或者选用教育/学生版。如果想要永久版本的……(咳咳,都懂得这东西不好发,而且有手就找得到,懒得找就私信我或者VX:R7jsdh)
        太久版本的Revit版本建议还是不要安装了吧。(Revit 安装过程小概率会遇到总是安装失败的问题,不过不属于本篇笔记的内容,故不加赘述,如果遇到了,同上,私聊,95%的把握可以帮你解决)

Visual Studio 2019 的安装

        在VS社区中可以找到下载链接,可以点击这里下载。
        同时,请注意 .NET框架的安装,另外也要安装 .NET Core 。官方给出的是:Revit 2019 对应 .NET Framwork 4.7。但是本文之后需要安装的 Revit Lookup 用到的是 4.7 的框架,所以即便您安装的是 Revit 2020,请依旧安装 4.7 框架。
        如若想要安装其他版本,譬如Professional,但是苦于只能使用试用版,同上,私信 or VX。

Revit SDK 2020

        点击这里跳转下载地址,安装路径最好和 Revit 2020 安装在同一路径,非要不在一起也无大碍。

配置 AddinManager

        Revit SDK 2020安装路径应该包含了Revit SDK文件和AddinManager插件,用来允许外部进行二次开发代码。
        在Windows 10 中可能会找不到该目录:C:\ProgramData\Autodesk\Revit\Addins\2020,需要打开资源管理器的【选项卡查看→勾选隐藏的项目】。
        复制SDK文件下的Add-In Manager目录下的AddInManager.dll和Autodesk.AddInManager.addin文件到上面的目录中。然后更改Autodesk.AddInManager.addin文件中的Assembly标签中的东西,里面的路径为SDK的实际安装路径,然后保存。

】如果找不到这句说的2个.dll文件,请参照下方步骤。
  1. 如果你安装了 Revit 2019 SDK,那么可直接将19的这两个AddIn文件复制到上方路径中;
  2. 如果没有,那么请【移步这里】(提取码:76ig),同样的下载完之后复制两个文件到上方路径即可。

        更改之后打开Revit即可在【附加模块→外部工具】中看到安装的插件。

提示】如果有要求选择载入类型的窗口,请一律选择“总是载入”,切记!

Revit Lookup

        点击这里跳转下载地址。
        选择Download ZIP,下载后解压在先前安装的Revit SDK路径下,之后点击解压完之后的项目文件夹,找到最下面的RevitLookup.sln文件,双击使用VS打开。

】如果有弹出窗口显示对应的.NET Framwork 框架版本不对应,请选择第二项,为该项目下载并安装对应版本的.NET 框架,之后浏览器会自动打开一个链接,链接就是框架的下载地址。选择Download .NET Framwork 4.7 Developer Pack,跳转到下载页面之后,会提示你是否需要另外的语言包,确定下载原英文框架之后,可以再自行下载中文(简体)语言包。两个安装包都安装好之后,就会发现打开RevitLookup.sln文件不载有弹窗提示。

        项目打开之后重新添加下面的引用,刚打开项目的时候,这几个引用会有黄色警告的标记,在Revit安装路径下可以找到这些.dll(引用),之后点击启动,是否出现提示或者其他窗口请不要在意,主要查看在 C:\Program Files (x86)\Autodesk\Revit 2020 SDK\RevitLookup-2019.0.0.7\CS\bin\Debug 中有没有出现这个文件:RevitLookup.dll。
需要重新添加的引用
AdWindows
RevitAPI
RevitAPIIFC
RevitAPIMacros
RevitAPIUI
RevitAPIUIMacros
快速找到上方引用的方法
  1. 右键选择【引用→添加引用】
  2. 打开【引用管理器→浏览→选择要引用的文件】
  3. 在浏览窗口的右上方搜索框中输入需要添加的引用,系统即可自动检索到所需内容

        在这之后,进入SDK安装路径:C:\Program Files (x86)\Autodesk\Revit 2020 SDK\RevitLookup-2019.0.0.7\CS,找到RevitLookup.addin文件,打开文件,将里面的Assembly标签内容修改为(即上述编译生成的RevitLookup.dll所在的路径,也就是C:\Program Files (x86)\Autodesk\Revit 2020 SDK\RevitLookup-2019.0.0.7\CS\bin\Debug)    
        这之后,将这个已经修改过的RevitLookup.dll拷贝到该目录中C:\ProgramData\Autodesk\Revit\Addins\2020,如此,便完成RevitLookup的安装,重启Revit 2020之后就可以在选项卡【附加模块】中看到RevitLookup,如下图:
】需要提醒的是,红框标记处的Revit Lookup只有当打开一个项目的时候才会亮起,否则是灰色的图标且不能点击。

ILSpy 4.0.1

        点击这里跳转下载地址。

测试

参考用例来自:https://www.cnblogs.com/bimer/p/7473208.html,有更改,并添加了一些注意点,但完全正确,请放心跟随操作。
  1. 打开Visual Studio 2019,创建新项目,找到创建模板【类库(.NET Framwork)】,切记,选择的是类库(.NET Framwork),不是类库(通用 Windows)或者类库(.NET Standard),这里一定会有人心急赶紧弄好而看错。之后写上项目名Hello Revit。
  2. 在右边的引用中右键添加引用(RevitAPI.dllRevitAPIUI.dll),用上文一样的方法,找到所需要的添加的引用,确定添加之后,记得把这里上述两个引用的【复制到本地】属性改为false,否则会生成一大堆没用的东西。因为做的是测试插件,不可能脱离Revit程序本身来运行的。
  3. 除了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 Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) { }
  7. 在上面的字段内部添加如下字段。
    TaskDialog.Show(“Revit”, “Hello Revit!”);
    return Result.Succeeded;
  8. 最终这个.cs文件的全部代码应该是下面这样:
    using System; using Autodesk.Revit.DB;
    using Autodesk.Revit.UI;
    using Autodesk.Revit.Attributes;
    namespace Hello_Revit
    {
    [Transaction(TransactionMode.Manual)]
    public class Class1 : IExternalCommand
    {
    public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
    {
    TaskDialog.Show("Revit", "Hello Revit!");
    return Autodesk.Revit.UI.Result.Succeeded;
    }
    }
    }
  9. CtrlK,S保存全部文件,不会快捷键的情点击【文件】,找到【全部保存】。之后右键项目本身选择【属性】,找到【生成】,把【目标平台】改为 x64,省略该步骤在编译的时候会出现警告。检查无误之后生成类库,并记下输出窗口中的.dll文件的位置。【】是目标平台!不要看成平台!
  10. 新建一个文本文件.txt,输入以下内容。但是要注意的是:注意第4行、第5行和第6行,都要根据实际情况填写。第4行Assembly标签内就是上一步记下的.dll文件的位置,第5行AddIn标签的内容可以在这个类库项目的Properties文件夹中的AssemblyInfo.cs文件里找到,直接把Guid冒号后面的引号中内容完全粘贴到标签内即可。【】FullClassName标签内的类名一定要和上面的类库项目中.cs文件的命名空间一致,下面的代码中Hello和Revit字段中间的下划线是因为创建项目的名称是Hello Revit,创建时会默认把空格当做下滑线处理。
    <?xml version ="1.0" encoding ="utf-8" standalone ="no"?>
    <RevitAddIns>
    <AddIn Type="Command">
    <Assembly>E:\文档\Visual Studio 2019\repos\Hello Revit\bin\Debug\Hello Revit.dll</Assembly>
    <AddInId>0d27e093-398b-41f2-bbfd-eaef14cad3b1</AddInId>
    <FullClassName>Hello_Revit.Class1</FullClassName>
    <Text>Hello Revit</Text>
    <VendorId>NAME</VendorId>
    </AddIn>
    </RevitAddIns>
  11. 把这个.txt文件重命名为HelloRevit.addin,复制到Revit插件目录下:C:\ProgramData\Autodesk\Revit\Addins\2020。
  12. 重启Revit,选择【附加模块→外部工具→Hello Revit】,执行之后就可以看到弹出对话框,测试成功。





Revit二次开发环境配置(Revit 2020 +Visual Studio 2019)的更多相关文章

  1. DX12龙书 00 - 环境配置:通过 Visual Studio 2019 运行示例项目

    0x00 安装 Visual Studio 2019 安装 Visual Studio 2019 以及相关组件. 注:安装组件时带的 Windows 10 SDK 可以在 Individual com ...

  2. C#进行CAD二次开发环境配置

    最近被公司分配到了做CAD二次开发.也是初次接触这方面的东西,其实是有些无从下手的感觉.因为公司这边也没有人有时间带我,只能是自己看书,然后再写一些Demo,再结合实际的应用来一点点的学习.废话不多说 ...

  3. xshell远程终端操作Ubuntu server安装LAMP环境之最详细笔记之二PHP开发环境配置

    前言: 昨天学会了安装server,今天试着通过远程终端xshell来安装LAMP,搭配一下开发环境,也有集成环境可以一键安装使用,还是瞎折腾一下,手动一步一步搭建一下这个开发环境. 接上一篇:ubu ...

  4. JMeter二次开发环境配置

    本文主要介绍如何在Eclipse中配置JMeter开发环境. 一.下载JMeter源码 1.在JMeter官网下载二进制包和源码包: 解压备用: 二进制解压后文件夹名称为“jmeter_release ...

  5. [Revit]Autodesk Revit 二次开发整理(资料、准备工作和环境搭建)

    1 前言 Revit被Autodesk收购之后,整理和开放了一大部分API,供开发者实现自己的功能和程序,总体来说API的功能比较完善,毕竟市面上已经出现了各式各样的插件. 本人也是初学者,在Revi ...

  6. 踏上Revit二次开发之路 1 准备工作

    1 准备工作 工欲善其事,必先利其器.在正式开始之前,我觉得有必要先盘点一下需要准备些什么. 1.1 硬件设备 PC机一台(谢绝Apple). 配置不能太低,至少要i3以上的cpu.4g以上的内存和支 ...

  7. Revit二次开发初体验

    最近换了下工作,由之前的互联网企业转入了BIM软件开发行列.具体原因不多说,作为一个程序员来说学习永无止境.下面来一个Hello World体验下Revit的二次开发 事前准备 VS Revit 20 ...

  8. revit二次开发wpf里button按钮无法实现事务

    不能在revit提供的api外部使用事务,解决此方法, 1.把button里要实现的功能写到外部事件IExternalEventHandler中,注册外部事件,在button事件中.raise()使用 ...

  9. revit二次开发之族的类型参数与实例参数的转换

    1背景小伙伴在做revit二次开发的时候,可能需要在族环境中将族的类型参数与实例参数相互转换. 2思路1.使用族管理器FamilyManager,参见注释12.首先获取需要转换的参数(单个与批量),参 ...

随机推荐

  1. 【Linux】Linux介绍和安装 - 测试题

    第一部分测试题 Linux介绍和安装 测试题 做点练习题,巩固一下咯~ ~ _ 10 个选择题. 1.让我们选择开机时进哪个操作系统的软件叫什么? A. booter B. bootloader C. ...

  2. ps的参数解释

    [root@bogon ~]# ps axuUSER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND user启动进程的用户 pid  表示进程标志 ...

  3. 单片机—Arduino UNO-R3—学习笔记001

    连接方法 下载Arduino软件 安装完成打开如图所示 观察右下角的连接接口"Arduino Uno在COM(X)" 在工具-->端口-->选择之前查看的端口 即为连接 ...

  4. 【linux】系统编程-7-网络编程

    目录 前言 10. 网络编程 10.1 简要网络知识 10.2 IP协议 10.2.1 IP地址编址 10.2.2 特殊IP地址 10.2.1 首限广播地址 10.2.2 直接广播地址 10.2.3 ...

  5. 用SAP浏览网页

    在SAP里,通过两个类就可以做一个简单的,嵌入sap里的网页.这两个类就是 1. cl_gui_custom_container 这个类是自定义屏幕里用得,也就是画一个container,在这个容器中 ...

  6. USB充电限流芯片,输出短路关闭,过压关闭

    PW1503,PW1502是超低RDS(ON)开关,具有可编程的电流限制,以保护电源源于过电流和短路保护.它具有超温保护以及反向闭锁功能. PW1503,PW1502采用薄型(1毫米)5针薄型SOT2 ...

  7. 使用cacti监控linux主机

    介绍:使用cacti监控linux主机,需要在linux主机上面安装snmp服务,并修改snmpd.conf文件,指定cacti服务器的地址,然后在cacti的前台界面添加此主机即可,此处以监控cen ...

  8. TCMalloc源码学习(三)(小块内存分配)

    线程本地cache 线程本地cache对应的是类 ThreadCache,每一个thread一个实例,初始化代码在static函数CreateCacheIfNecessary中, 在该线程第一次申请内 ...

  9. mysql中int型的数字怎么转换成字符串

    字段:number  是integer类型    在表test中 select cast(number as char) as number from test; 或者convert()方法.因为转换 ...

  10. P5858 Golden Swold

    写在前面 简单的单调队列优化 DP 处理略微有点恶心,于是乎,用来取 \(\max\) 的极小值直接开到了 long long 的最小极限,了 define int long long /cy 算法思 ...