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. 【Git】3、创建Git版本库、配置Git仓库用户邮箱信息

    初识Git 文章目录 初识Git 1.创建Git版本库 认识.git 2.基础配置 2.1.查看配置信息 2.2.配置昵称邮箱信息 2.3.修改配置信息 1.通过命令行 2.通过修改配置文件. 修改全 ...

  2. 在.NET Core 中使用Quartz.NET

    Quartz.NET是功能齐全的开源作业调度系统,可用于最小的应用程序到大型企业系统. Quartz.NET具有三个主要概念: job:运行的后台任务 trigger:控制后台任务运行的触发器. sc ...

  3. Java中的Date类型无法赋值给数据库的datetime类型

    因为Java中new Date()的结果是"Thu Aug 27 19:03:54 CST 2020",而mysql中的datetime不接受这样的日期格式,插入数据会报错. 解决 ...

  4. mysqldumpslow基本使用

    参数解释 -s, 是表示按照何种方式排序 c: 访问计数 l: 锁定时间 r: 返回记录 t: 查询时间 al:平均锁定时间 ar:平均返回记录数 at:平均查询时间 -t, 是top n的意思,即为 ...

  5. LocalDateTime、OffsetDateTime、ZonedDateTime互转,这一篇绝对喂饱你

    前言 你好,我是A哥(YourBatman). 在JSR 310日期时间体系了,一共有三个API可用于表示日期时间: LocalDateTime:本地日期时间 OffsetDateTime:带偏移量的 ...

  6. uni-app开发经验分享十三:实现手机扫描二维码并跳转全过程

    最近使用 uni-app 开发 app ,需要实现一个调起手机摄像头扫描二维码功能,官网API文档给出了这样一个demo: // 允许从相机和相册扫码 uni.scanCode({ success: ...

  7. SQL Server和Oracle数据类型对应关系

    在工作中,有时会遇到跨库传输数据的情况,其中 SQL Server 和 Oracle 之间的数据传输是比较常见的情况. 因为 SQL Server 和 Oracle 的数据类型有些差异,这就要求我们在 ...

  8. 【Android初级】利用startActivityForResult返回数据到前一个Activity(附源码+解析)

    在Android里面,从一个Activity跳转到另一个Activity.再返回,前一个Activity默认是能够保存数据和状态的.但这次我想通过利用startActivityForResult达到相 ...

  9. 用CSS制做一个三角形!

    用CSS制做一个三角形! <style> .outer { width: 0; height: 0; border-left: 10px solid transparent; border ...

  10. mysql主从复制安装配置

    mysql主从复制安装配置 基础设置准备 #操作系统: centos6.5 #mysql版本: 5.7 #两台虚拟机: node1:192.168.182.111(主) node2:192.168.1 ...