Revit二次开发环境配置(Revit 2020 +Visual Studio 2019)_revit sdk2020-程序员宅基地

技术标签: 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

智能推荐

Shiro实现用户授权(Authorization)_@hasauthority shiro-程序员宅基地

文章浏览阅读716次。Shiro实现用户授权_@hasauthority shiro

基于深度学习的人脸识别与管理系统(UI界面增强版,Python代码)_python管理系统深度学习-程序员宅基地

文章浏览阅读7.1w次,点赞121次,收藏1.2k次。摘要:人脸检测与识别是机器视觉领域最热门的研究方向之一,本文详细介绍博主自主设计的一款基于深度学习的人脸识别与管理系统。博文给出人脸识别实现原理的同时,给出Python的人脸识别实现代码以及PyQt设计的UI界面。系统实现了集识别人脸、录入人脸、管理人脸在内的多项功能:包括通过选择人脸图片、视频、摄像头进行已录入人脸的实时识别;可通过图片和摄像头检测人脸并录入新的人脸;通过系统管理和更新人脸数据等功能,检测速度快、识别精度较高。博文提供了完整的Python代码和使用教程与完整代码资源。_python管理系统深度学习

Filter Listener-程序员宅基地

文章浏览阅读42次。ShowServlet.javapackage it.ytu.servlet;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servl

php 实现 word 转为 图片_php word转图片-程序员宅基地

文章浏览阅读2.4k次,点赞3次,收藏8次。项目需求是这样的:用户签订合同,并读取用户信息生成合同,将合同保存为png图片保存环境:windows(2012,linux要配置java环境,偷懒)+ apache(2.4.48) + php(7.1) + mysql(5.5.62)框架:tp5.0.24,网站目录在public下面,环境直接用宝塔塔建的,phpenv 本地测试了也可以,其他的没有测试第一步:向word写入用户信息1. 将 PhpOffice 整个文件夹复制到 extend 文件夹下(如下图)2. 接下来就是代码了,直接上:_php word转图片

oracle redo备份,Oracle备份,redo丢失和恢复的实操-程序员宅基地

文章浏览阅读391次。我们今天要和大家一起讨论的是Oracle备份,redo丢失和恢复的实际操作方案的实际应用,如果你对Oracle备份,redo丢失和恢复的实操感兴趣的话,以下的文章就会给你提供相关的知识,望你会有所收获。一、先阐述下测试环境系统数据库环境:window+Oracle10g R2+archive模式;模拟Redo文件丢失,数据库在正常关闭的情况发现Redo丢失了;二、测试(1)、倘若丢了一个或多个re..._oracle redolog 备份

原创 (C++)Leetcode狂刷200题——标签“哈希表篇--简单难度10道 #204. 计数质数_计数质数 哈希表leetcode c++-程序员宅基地

文章浏览阅读93次。第九道、#204. 计数质数统计所有小于非负整数 n 的质数的数量。示例:输入: 10输出: 4解释: 小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。1、暴力解法class Solution {public: int countPrimes(int n) { if (n<3) return 0; //当n小于三时,没有质数 int ans =1; //2是质数 ,所以初始化为1 for(int ._计数质数 哈希表leetcode c++

随便推点

Windows蓝屏案例分析_ox000021a-程序员宅基地

文章浏览阅读491次。1.故障检查信息***STOP 0x0000001E(0xC0000005,0xFDE38AF9,0x0000001,0x7E8B0EB4)KMODE_EXCEPTION_NOT_HANDLED ***其中错误的第一部分是停机码(Stop Code)也就是STOP 0x0000001E, 用于识别已发生错误的类型, 错误第二部分是被括号括起来的四个数字集, 表示随机的开发人员定义的参数(这_ox000021a

SpringBoot默认包扫描机制及@ComponentScan指定扫描路径详解_springboot scan-程序员宅基地

文章浏览阅读7.2k次,点赞5次,收藏20次。springboot注解@ComponentScan_springboot scan

NLP 学习笔记 02 (Tagging Problems, and Hidden Markov Models)_hidden markov models nlp-程序员宅基地

文章浏览阅读4.7k次。(all content based on the coursera course nlp)--------------------------------------------------------------------------------------------------------这一周的主要课程是tagging problems首先是简单介绍了一下supervise_hidden markov models nlp

muui身份证验证代码_mui input 身份证号码-程序员宅基地

文章浏览阅读518次。&lt;script src="js/mui.min.js"&gt;&lt;/script&gt; &lt;script type="text/javascript" src="js/mui.enterfocus.js" &gt;&lt;/script&gt; &lt;script src="js/app.js"&gt_mui input 身份证号码

HDC2021技术分论坛:HarmonyOS内核技术大公开_hyperhold-程序员宅基地

文章浏览阅读1.7k次。作者:jikecheng,miaoxie,HarmonyOS内核技术专家HarmonyOS整体框架分为四个层级,如图1所示。从上到下,依次为:第一层是应用层,主要涵盖系统应用、Launcher、设置,以及三方应用。第二层是框架层,提供基础UI框架、用户程序框架以及能力模块框架。第三层是系统服务层,让HarmonyOS具有分布式流转负载的能力。大家看到的高速多设备协同能力就是由该层级提供。而承载整个操作系统,同时发挥芯片算力的基石就沉淀在第四层——内核层。宏观来说,内核的主要工作包含芯片资源管_hyperhold

计算机组成原理知识总结蒋本珊,计算机组成原理习题答案(蒋本珊)-程序员宅基地

文章浏览阅读584次。资源描述:第一章1 .电子数字计算机和电子模拟计算机的区别在哪里解电子数字计算机中处理的信息是在时间上离散的数字量,运算的过程是不连续的;电子模拟计算机中处理的信息是连续变化的物理量,运算的过程是连续的。2 .冯· 诺依曼计算机的特点是什么 其中最主要的一点是什么解冯· 诺依曼计算机的特点如下① 计算机(指硬件)应由运算器、存储器、控制器、输入设备和输出设备五大基本部件组成;② 计算机内部采用二进..._数字计算机处理的是在时间上和数值上

推荐文章

热门文章

相关标签