Revit二次开发环境配置(Revit 2020 +Visual Studio 2019)_chinaherolts2008的博客-程序员宅基地_revit2020二次开发环境配置

技术标签: C#教程  

Revit 2019开sql教程发环境java基础教程搭建,需要python基础教程安装的c#教程内容如下:

  1. Revit 2019(主要vb.net教程的开发环境)
  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】,执行之后就可以看到弹出对话框,测试成功。


 

来自为知笔记(Wiz)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/chinaherolts2008/article/details/119065049

智能推荐

haproxy 学习记录_weixin_34245169的博客-程序员宅基地

1.简易安装make TARGET=linux26 prefix=/usr/local/haproxy install启动haproxy在sbin目录,其余的在doc目录2. 配置hdr_beg(host)

2014年下半年读书计划_weixin_30912051的博客-程序员宅基地

0.程序猿的呐喊这个大牛有点桀骜不羁啊。一个资深的前辈啊,亚马逊、谷歌待的时间都不短。对一些事情特别有看法,也敢于提出自己的想法。尽管当中的某些观点。我还不能理会,临时不允许他的。只是这是我见过的最能批评的一个程序猿了。1.代码阅读写作年代比較早了,有的技术和工具已经有更好的方案了。...

java 代码区分不同的debug和release包的方法_java 代码区分不同的debug和re_weixin_39741459的博客-程序员宅基地

java 代码区分不同的debug和re[2021-02-08 07:24:11]简介:php去除nbsp的方法:首先创建一个PHP代码示例文件;然后通过“preg_replace("/(\s|\&amp;nbsp\;| |\xc2\xa0)/", " ", strip_tags($val));”方法去除所有nbsp即可。推荐:《PHP视频教java常用代码有:1、 字符串有整型的相互转换;2...

WCF/WPF/Silverlight的区别是什么?_iteye_19249的博客-程序员宅基地

SilverLight 可以看作是 WPF 的一个简化版本,或者一个轻量版本。 SilverLight是基于浏览器插件的,在浏览器中运行,服务器端不需要部署任何环境,客户端只需要安装Runtime浏览器插件,无须安装.net Framework 3.0。所以,SilverLight的运行环境不受操作系统和浏览器的种类限制(更准确的说,是受到较少的限制)。 转载:[url]http://ww...

weblogic通过命令禁止应用随weblogic启动而启动_weixin_39102174的博客-程序员宅基地

因为应用BUG可能会导致weblogic无法启动的问题,此时weblogic控制台也无法登录,只有删掉有BUG的应用才行,这就陷入死循环。可以通过禁止相关应用随weblogic启动而启动解决此问题。1.删除“user_projects\domains\。。。\autodeploy”下项目相关文件网上说需要删除“user_projects\domains\。。。\autodeploy”下相关...

vSphere Client(Vcenter)上传ISO镜像_Ridiculousake的博客-程序员宅基地_vsphere上传镜像

不少新手在ESXi上安装好虚拟机后,都要寻找浏览器的ios镜像,但同学们会在这里卡顿,找不到上传ios的路径。今天就来讲一讲,上传的问题——一.方法一我初学时,一样在这里卡顿,找不到上传的路径。在网上搜索,确实找到了一种上传的方法。在这里转载一下。1、登录Vcenter后选择"数据存储与数据存储集群"2、选择存储的路径,右键-选择“浏览数据存储”3、点击上传图标,并上传指定的ISO文件转载于:VMware vSphere Client(Vcenter)上

随便推点

php webservice 数组,PHP调用C#Webservice传数组参数的问题_周福来的博客-程序员宅基地

POST /xxxxxxxxxxxx/ws/commonservice.asmx HTTP/1.1Host: 202.82.66.147Content-Type: text/xml; charset=utf-8Content-Length: lengthSOAPAction: "http://xxxxxxxxxxxxxx/webservices/queryVoyageRoute_onWeb"str...

解决点击多次jquery动画animate反应迟钝的问题_weixin_30780649的博客-程序员宅基地

最近做了一个网页,用到了animate的动画效果,点击连接就滚动屏幕到相应的位置,可是前几次点击没有问题,随着点击次数的增多,动画响应越来越慢,到后来点击一次要等好几秒才开始滚动,最后我找到了原因,动画没有播放结束,队列越来越长导致的。解决办法: $('body').stop().animate({scrollTop:aaa},300);在animate前加一个stop即可停止当前动画清空...

英国奥运传奇遭兴奋剂调查 此前被俄黑客曝光_weixin_34319999的博客-程序员宅基地

  布拉德利-威金斯可谓是英国的奥运传奇根据英国《每日邮报》的消息,英国传奇自行车手布拉德利-威金斯和他所在的天空车队正在接受英国反兴奋剂机构的调查,官方对天空车队在2011年环法赛前收到的一个医疗包裹产生了怀疑。就在上个月,俄罗斯黑客“奇幻熊”曝光的世界反兴奋剂机构的相关文件显示,布拉德利-威金斯在2008年至2013年间数次被允许使用两种违禁药物...

html5视频播放器脚本怎么用,HTML5 video标签(播放器)学习笔记(一):使用入门..._weixin_39714528的博客-程序员宅基地

近有在学习html5中video标签(播放器)的使用,这里做一些学习笔记,方便自己查阅和记录,本文是第一篇,将介绍的是使用该标签初始化该做的哪些工作。网上的教程其实也不少了 w3cschool里面的最为简单而详细,那么这几介绍的是一些更为直接的应用。本文目录:1.使用标签2.加上一些必要参数3.自动播放或自动加载4.规范播放器第一步:使用标签使用的方法很简单,就是一句代码:复制代码代码如下:第二步...

python flask 大文件 下载_Flask缓存静态文件的具体方法_weixin_39758229的博客-程序员宅基地

大家好,今天才发现很多学习Flask的小伙伴都有这么一个问题,清理缓存好麻烦啊,今天就教大家怎么解决。大家在使用Flask静态文件的时候,每次更新,发现CSS或是Js或者其他的文件不会更新。这是因为浏览器的缓存问题。普遍大家是这几步解决办法。·清理浏览器缓存;·设置浏览器不缓存;·也有以下这么写的:@app.context_processordef override_url_for():retur...

HTML笔记_崔波波啊的博客-程序员宅基地

系统结构B / S 架构:Browser / Server(浏览器 / 服务器的交互形式)Briwser支持哪些语言:HTML、CSS、JavaScript写 HTML、CSS、JavaScript代码的这些人叫做:web前端工程师。Server端的语言有很多:C、C++、Java、Python等B / S架构的优缺点:优点:升级方便。直升级服务器端的代码即可,维护成本低。缺点:速度慢,体验不好,界面不酷炫。企业内部都是采用B / S架构的系统,因为企业内部办公需要的一些系统不需要.

推荐文章

热门文章

相关标签