Revit二次开发之编程初步

 

Revit二次开发第二课,快点进来瞧一瞧!...



点击上方“万间科技” 可以订阅哦!
在4月19号的推送文章里,小编带大家通过安装软件-创建插件-编写清单-运行插件四个步骤编写了Revit的小插件。学习了如何通过几行C#代码生成插件进而提高Revit的使用效率。

今天,让我们首先了解一下C#编程的基础知识,然后重温一下创建插件时生成和执行代码的细节。
01
什么是“生成”

创建插件时键入到Visual Studio中的代码是一组人类可读的指令(源代码),"生成"步骤可以将其转换成能被计算机理解并执行的代码,并打包成可以加载到Revit里的DLL文件(动态链接库)。

下面的截图显示了在Visual Studio里点击“生成解决方案”后输出的DLL文件以及关联的程序调试数据库(可以在对DLL进行故障排除时提供其他信息)。在Visual Studio的项目设置中可以指定DLL编译的路径,不指定的话默认在项目文件夹的bin子文件夹中。

02
编程语言和开发工具

就像人类沟通的语言有很多种,我们创建Revit插件时也有多种编程语言可以选择:本教程里我们选择了C#——广受Revit 开发人员欢迎的强大的通用编程语言。

可用于开发C#代码的开发工具有许多,如开源工具SharpDevelop、专业的开发环境Visual Studio。我们在此使用Visual Studio Community 2017——适用于学生、开源和个人开发人员的功能完备的免费 IDE(集成开发环境)。它有各种工具、 菜单和工具栏,可以让我们编写代码更加轻松。

Visual Studio中的项目系统包括解决方案和项目文件,以及属于项目的个别文件的项目项。解决方案是一个或多个项目的容器。每个项目也可以看作项目项的容器,如源代码文件、图标等(大部分会被编译成可执行文件EXE/DLL)。Visual Studio提供解决方案资源管理器,管理器可以以树视图的形式显示加载的解决方案的内容。
解决方案资源管理器


Visual Studio界面还包含一个文本编辑器,它根据正在编辑的文件的类型显示在主窗口中。文本编辑器是我们编写Revit 插件时输入C# 代码的地方。该编辑器具有自动提示、折叠代码块以及其他经典文本编辑功能,如书签和显示行号等。智能提示功能可以大大提高程序员的工作效率:它会基于已有对象和正在键入的字母为正在编写的代码提供建议。
编辑器窗口


Visual Studio的主要特点之一是将C#代码生成为可执行文件的能力。在生成过程中,语言编译器对代码进行了各种检查和分析。检查首先是为了确保代码符合 C# 语言的语法规则,其次执行各种其他的检查,如变量是否被正确定义。检测到的错误通过在主窗口底部的错误列表窗口显示。
错误列表窗口
03


重温编写插件的步骤

下面我们将基于刚刚学到的编程知识重温上次在Visual Studio中开发的步骤。

1. 启动Visual Studio Community开发环境

2.创建一个新的C#类库项目

注:如果要开发Revit插件,我们需要选择类库(.NET Framework)模板以创造C#类库(.dll)的项目。当需要开发其他类型的应用程序时,要选择对应的其他模板。

3.空白项目被创建,其中包含对核心.NET 组件和一个空白的C#类文件的几个标准项目引用。
空白项目中的标准引用


4.保存该解决方案并在电脑硬盘上创建类库项目的物理文件,从而保证我们下次可以对它进行打开和编辑。

5.这个由Visual Studio创建的空白项目,不会自动使用Revit API。因此我们需要添加对dll 接口的项目引用:RevitAPI.dll和RevitAPIUI.dll.

• RevitAPI.dll包含访问 Revit 应用程序、文档、构件、参数等的API

• RevitAPIUI.dll包含Revit用户界面的操作和自定义有关,包括命令、选项和对话框等的 API

6. 设置引用文件的“复制本地”属性值为False,

原因有两个方面:

1. 复制这些文件需要占用磁盘空间,也要花费不必要的时间

2. 如果DLL存在于多个空间,CLR(公共语言运行库)无法确定应该加载哪一个副本。

7. 下一步我们给项目添加C# 代码,为Revit提供有关如何执行复制用户选定组的指令。

小技巧:在编写代码时,我们可以不时生成解决方案,以便及时检查出代码中的错误,可以避免代码完成后找bug耗时太久。噔噔噔噔!今天的内容就到这儿,下次小编将带着大家详细了解代码的细节,大家保持关注噢!部分翻译改编自Autodesk提供的教程,原文链接:

http://usa.autodesk.com/adsk/servlet/index?siteID=123112&id=16849339

注意:原文教程基于Revit 2014和Microsoft Visual C#Express


    关注 万间网


微信扫一扫关注公众号

0 个评论

要回复文章请先登录注册