我第一次Revit插件培训.docx
- 文档编号:6406974
- 上传时间:2023-01-06
- 格式:DOCX
- 页数:80
- 大小:3.19MB
我第一次Revit插件培训.docx
《我第一次Revit插件培训.docx》由会员分享,可在线阅读,更多相关《我第一次Revit插件培训.docx(80页珍藏版)》请在冰豆网上搜索。
我第一次Revit插件培训
我第一次的Revit插件概述
您是欧特克Revit电力用户变得更具生产力感兴趣吗?
你想实现自动化或扩展的Revit,但计算机编程的新功能吗?
如果是这样,那么本指南旨在为您。
"我的第一个插件"是自学教程指南为编程世界顺利引入。
这是用户知道欧特克公司的产品,但绝对新的编程和想学正冒险的"一站式商店"学习路径。
在本指南中,您将工作与欧特克Revit.NETAPI和C#编程语言,但是如果你更喜欢的编程语言VB.NET我们提供了这种语言中的代码示例。
产品:
AutodeskRevit*
编程语言:
C#(和VB.NET-不包括VB.NET代码样本的书面的解释)
应用程序编程接口(API):
Revit.NETAPI
*本指南是根据创建AutodeskRevit建筑。
本指南中的所有步骤都都适用于任何的Revit三种口味的产品。
本指南与2011或更高版本中,可以使用"Revit结构"或"RevitMEP"替换所有"Revit建筑"。
版本2011和2012我们提供工作与VisualStudio工具的应用程序(VSTA)里面的存档教训的说明下载、VSTA已更换与SharpDevelop的Revit2013。
概述
有许多资源可用在web上为您了解AutodeskRevitAPI(应用编程接口),但是,这些资源往往为人已经知道编程设计。
本指南是不同:
它假定没有以前的编程知识,还可帮助您构建您的第一个插件快速,没有落得您的详细信息。
你会在开始这种材料,不论您的编程专业的当前水平的一个小时内运行的应用程序。
指南将开始通过审查进展到覆盖的AutodeskRevitAPI的使用经验教训上前自欧特克软件的好处。
吸取的教训将开始通过建立工作的插件,才能覆盖更详细的解释的基本原则和进一步开发应用程序的功能。
自定义AutodeskRevit的好处
在今天的世界中,我们鼓励你变得更有效率。
这是自定义的一个主要好处:
定制软件您使用在日常基础上精简工作流程提高您的效率。
欧特克公司提供了功能强大的Api和Sdk(软件开发工具包)使您可以通过定制它专门针对您的业务需要获得更大的价值,从您在欧特克软件的投资。
欧特克Revit提供了一个丰富的API,可以用于自定义该产品的现有功能或通过添加全新的。
可以自动执行重复性的、耗时的任务,无需离开AutodeskRevit环境扩展核心功能。
可以使用API创建自定义工具和功能,直接插入AutodeskRevit,扩展其功能。
欧特克Revit有一个.NETAPI,意味着您可以使用任何.NET兼容的编程语言(C#、VB.NET、F#等),开发插件。
虽然每个语言都有自己的相对优势,C#是本指南的天然选择:
它是很容易学习、容易使用和利用基本的.NET框架的力量。
当你变得舒适与本指南-的内容和更熟练的C#-您将能够解决更为复杂的问题,在语言移动。
有时尽管C#正在自然的选择,是何种语言,您可以在您的公司内工作与你控制范围之外的限制。
编程语言VB.NET发生非常接近第二次到C#,所以以容纳读者希望与欧特克Revit;在VB.NET我们为您提供在VB.NET中的所有课代码。
编程可以是非常有益的。
我们希望你那种感觉太完成这些教训之后。
玩得愉快!
摘要插件
"我的第一个插件"实现要复制一组(可以包含家具、隔断墙或机械电气水暖(MEP)元素)的命令从一个房间到另一个。
它是很常见的建筑模型,以包含完全相同的家具布局和手动复制这些元素可以证明是耗时且乏味:
它可以是有元素,例如保持相同的相对位置,很有挑战性。
这种类型的任务非常适合用于AutodeskRevitAPI,通过自动化和本指南将带你通过这样做的过程。
视频:
完成插件
该视频演示的最后插件你将在这一课6中创建"我的第一个插件"指南。
在开始之前安装的软件
∙欧特克®Revit®体系结构
本指南是适用的AutodeskRevit建筑2011年和后继版本。
请替换'20xx'到您正在使用贯穿整个指南的产品版本。
∙Microsoft®VisualC#速成版
这种材料的重点使用MicrosoftVisualC#2010年表示所需的步骤。
使用其他版本的VisualStudio支持C#也是可能的。
视频:
如何安装VisualC#2010年快递
经验教训总结
第1课:
基本插件
在本课中,将创建您第一次基本AutodeskRevit插件复制到指定的位置,用户所选的组。
第2课:
编程概述
在本课中,您将更仔细地审视执行插件代码,探索VisualC#速成版环境时,会发生什么。
第3课:
第一次看看代码
在本课中,您将看您第一次深入AutodeskRevitAPI。
我们会花时间在反过来理解的代码行中的每一课1,你看的C#代码键入到您的插件。
此外,在探讨这种概念作为面向对象的编程、类、方法、变量声明、创建类的对象和属性。
第4课:
调试您的代码
学习如何使用VisualStudio调试器逐句通过您的代码--逐行跟踪程序的执行;和观看的变量的值发生更改时由您的代码。
第5课:
简单选择的一组
在本课中,您将提高插件选择功能,使它更容易为用户选择一个组,请确保您的插件预计有什么意外发生的可能。
第6课:
使用房间几何结构
在本课中,您将扩展插件,将所选的组复制到它是在房间的中心位置。
此外,探索这种RevitAPI和编程概念作为筛选与FilteredElementCollector和条件if语句。
第7课:
我的期末插件
在本课中,您会通过扩展它以允许用户选择多个房间的组将被复制到完成插件的功能。
第8课:
学习更多
在本课中,我们为您提供附加信息以创建AutodeskRevit插件时提高您的生产力。
你会看看相关的API帮助、文件、样品和到哪里去下一步以继续您周围AutodeskRevitAPI的学习问题的信息。
第1课:
基本插件
在本课中,将创建您第一次基本AutodeskRevit插件复制到指定的位置用户所选的组。
视频:
示范的课1步骤来创建您的第一个插件
提供反馈:
请提供关于这种Revit培训或通过电子邮件这一课的反馈:
myfirstplugin@
课下载
lesson1_revit_2014_projects.zip(zip-20216Kb)
lesson1_revit_2013_projects.zip(zip-28884Kb)
lesson1_revit_2012_and_earlier_project_files.zip(zip-7283Kb)
创建你的第一步骤插件
1.启动VisualC#速成版开发环境:
打开VisualC#2010年速成使用Windows开始菜单,选择所有程序,然后MicrosoftVisualStudio2010速成,然后MicrosoftVisualC#2010年速成的子菜单项。
2.创建一个类库项目:
里面VisualC#速成版,在文件菜单上单击新建项目。
在已安装的模板选项卡的左侧窗口中,单击VisualC#。
在中间的窗口中,单击类库。
在名称框中输入Lab1PlaceGroup。
然后单击确定.
VisualC#速成版将会为您创建一个默认的代码项目并在代码窗口中显示的代码。
3.保存项目:
在文件菜单上单击全部保存。
在显示窗口中键入C:
\test在位置框中,然后单击保存。
4.添加引用:
在VisualC#速成版窗口右侧的解决方案资源管理器窗口中,右键单击引用,然后单击添加引用......
5.单击浏览选项卡中的添加引用对话框和浏览到Revit产品安装的子文件夹。
(子文件夹路径取决于在安装有Revit建筑201x。
默认路径是C:
\ProgramFiles\Autodesk\Revit体系结构201x\Program*).
*路径可能随您使用AutodeskRevit的味道。
您将从该文件夹中添加两个引用文件。
选择RevitAPI.dll,在按住Ctrl键和选择RevitAPIUI.dll,然后单击确定。
现在这两个接口在您的项目中引用的DLL文件。
所有RevitApi都公开的这些接口文件和您的项目可以使用那些可用的Api,从他们的所有。
6.设置引用的文件复制本地属性值:
在解决方案资源管理器窗口中您看到在步骤5中,单击RevitAPI引用节点下。
在属性窗口中,单击复制本地属性,然后单击下拉列表中,选择False。
重复相同的步骤,RevitAPIUI复制本地属性值更改为False.
7.设置目标.NET框架:
注意:
欧特克Revit2011支持.NETFramework3.5的使用。
欧特克Revit2012以及更高支持.NET框架4.0,VisualC#2010年表示使用默认情况下的使用。
需要以下步骤,以便使用正确的版本。
如果您正在使用的Revit体系结构版本支持.NET框架4.0,你可以跳过步骤7、8和9。
在解决方案资源管理器窗口中,右击Lab1PlaceGroup项目,然后单击属性.
8.在显示项目属性表单中,请单击应用程序选项卡上的窗口左侧,单击目标框架,下方的下拉列表,然后单击列表中的.NETFramework3.5选项。
9.下面的消息框会显示要求您确认。
单击以确认更改。
10.添加的代码:
在解决方案资源管理器窗口中Class1.cs显示代码编辑窗口,请双击。
删除在此窗口中的所有内容,然后键入下面的C#代码。
要获得完整的VisualC#速成版——包括例如智能感知功能的使用——与开发经验我们建议您键入从本指南,而不是复制和粘贴代码。
说,如果你也可以复制并粘贴到VisualC#速成版代码窗口中的时间约束:
虽然这减少了从直接与代码工作获得的经验。
11.usingSystem;
12.usingSystem.Collections.Generic;
13.usingSystem.Linq;
14.
15.usingAutodesk.Revit.DB;
16.usingAutodesk.Revit.DB.Architecture;
17.usingAutodesk.Revit.UI;
18.usingAutodesk.Revit.UI.Selection;
19.usingAutodesk.Revit.ApplicationServices;
20.usingAutodesk.Revit.Attributes;
21.
22.[TransactionAttribute(TransactionMode.Manual)]
23.[RegenerationAttribute(RegenerationOption.Manual)]
24.publicclassLab1PlaceGroup:
IExternalCommand
25.{
26.publicResultExecute(
27.ExternalCommandDatacommandData,
28.refstringmessage,
29.ElementSetelements)
30.{
31.//Getapplicationanddocumentobjects
32.UIApplicationuiApp=commandData.Application;
33.Documentdoc=uiApp.ActiveUIDocument.Document;
34.
35.//DefineaReferenceobjecttoacceptthepickresult.
36.ReferencepickedRef=null;
37.
38.//Pickagroup
39.Selectionsel=uiApp.ActiveUIDocument.Selection;
40.pickedRef=sel.PickObject(ObjectType.Element,"Pleaseselectagroup");
41.Elementelem=pickedRef.Element;
42.Groupgroup=elemasGroup;
43.
44.//Pickapoint
45.XYZpoint=sel.PickPoint("Pleasepickapointtoplacegroup");
46.
47.//Placethegroup
48.Transactiontrans=newTransaction(doc);
49.trans.Start("Lab");
50.doc.Create.PlaceGroup(point,group.GroupType);
51.trans.Commit();
52.
53.returnResult.Succeeded;
54.}
55.}
不要担心现在的代码的详细信息,你就会回到这不久将在接下来的几的经验教训。
11.保存该文件:
在文件菜单上单击全部保存.
12.生成项目:
您编写的代码是在人类可读的形式。
若要使代码可读由一台计算机,您需要将它翻译或"生成"。
里面VisualC#速成版,在调试菜单上,单击生成解决方案,编译和生成您的插件.生成成功消息显示在VisualC#速成版窗口的状态栏中是否成功地生成代码。
注:
如果您正在使用Revit2012API,您将看到一个警告,指出'Autodesk.Revit.DB.Reference.Element'已过时。
此时,不要担心此警告。
我们将处理代码需要被改为:
第3课中。
如果您正在使用Revit2013年和更高的API,你将需要替换下面的代码行:
Elementelem=pickedRef.Element;
替换为:
Elementelem=doc.GetElement(pickedRef);
就这么简单!
你只是写你第一次用于AutodeskRevit插件。
你实际上使用该插件在Revit中之前,你需要做一个更多的步骤,就是写程序的外接程序清单。
写程序的外接程序清单
外接程序清单是位于应用程序启动时检查的Revit的特定位置的文件。
该清单包括Revit用于加载和运行插件的信息。
1.添加清单的代码:
从Windows开始菜单中启动Notepad.exe。
复制并粘贴到记事本编辑器的以下插件加载设置。
2.
xmlversion="1.0"encoding="utf-8"?
>
3.
4.
C:
\test\Lab1PlaceGroup\Lab1PlaceGroup\bin\Release\Lab1PlaceGroup.dll
5.
6.
7.
8.
9.
10.
根据您使用的什么版本可能需要更改该路径在这里以匹配您在您的计算机上的Lab1PlaceGroup.dll位置:
C:
\test\Lab1PlaceGroup\Lab1PlaceGroup\bin\Release\Lab1PlaceGroup.dll
11.保存该文件:
在记事本的文件菜单上,单击保存。
在文件名称框中输入MyFirstPlugin.addin。
保存类型改为所有文件选项(取决于你的文件的名称是;但是文件扩展名必须是".addin")。
浏览到以下的子文件夹,,然后单击保存按钮。
o对于WindowsXP*-C:
\Documents和设置所有用户应用Data\Autodesk\Revit\Addins\2011\
oWindowsVista/Windows7*-C:
\ProgramData\Autodesk\Revit\Addins\2011\(ProgramData文件夹,默认情况下隐藏)
*路径可能随您使用AutodeskRevit的味道。
例如,这里是在Windows7中,Revit建筑2011年的另存为对话框中的设置。
让我们运行要看它是怎么在Revit中的插件。
运行插件
1.启动AutodeskRevit建筑。
2.打开Hotel.rvt的项目文件。
3.将您的插件加载到Revit和允许插件与Revit进行通信:
里面Revit的加载功能区选项卡上,单击外部工具下拉列表,然后单击Lab1PlaceGroup。
这将启动您的插件。
4.使用该插件的工作:
Revit建筑模型中厅1移动光标。
当将光标悬停在家具集团时,应作为每突出其边界框下面图片,工具提示显示有模型组:
模型组:
组1。
单击以选中此家具集团。
(注:
当突出显示房间看上去非常类似于组。
请仔细选择的组根据消息的工具提示中。
如果选中了这个房间,你不会期望的结果后下一步。
)
5.在另一个房间,例如在房间2中挑一个点。
您应看到组复制到此位置。
新组的中心是您选择的点。
表示祝贺!
你只是写你第一次用于AutodeskRevit插件。
你将会检讨中细节第3课中的代码.
你进入下一课之前,让我们回到一些我们早些时候跳过了基本概念了解编程,从开始的东西和它可以给您的日常工作带来的好处。
其他主题
编程简介
只是在执行完要复制组的C#代码只是30线长。
在这里你看到少量的工作方式类似于内部的Revit命令,创建类似的代码。
软件编程允许您一次捕获特定功能的逻辑,然后收获一遍又一遍,每次你想要执行此功能。
什么编程?
这个问题的简单答案是:
计算机编程是创建的指令告诉计算机做什么序列的过程。
你可以看你的程序的指令序列。
期间即将举行的经验教训的过程中,你将看着各种线条和代码块的看看他们都在一台计算机的说明的上下文。
如果你是来解释有什么样的计算机到一个年轻的孩子,你可能会说:
计算机是一种工具,跟随您提供的指令。
编程是到计算机指令的方法之一。
在内部,计算机看到这些指令作为一系列(也称为机器代码)的数字编码。
你在这一课的开头看到的人类可读说明被称为源代码中,计算机将这些指令转换为机器代码,然后它可以读取和执行。
一个序列的这类指令(或代码),写来执行特定的任务,被称为一个程序,这种程序和相关的数据的集合称为软件。
欧特克Revit是一种软件产品。
源的代码可以将不同语言编写的就像人类使用不同的语言之间自己进行通信。
您将在本指南中使用的语言调用C#(读做"升C")。
API是什么?
API是应用程序编程接口的缩写:
软件程序员可以与软件产品进行通信的方式。
例如,RevitAPI是程序员可以使用Revit,工作的方式和它建立了一个软件程序员可以在Revit中使用哪些功能。
如RevitAPI使您可以编写Revit执行一个接一个的说明。
要把这个略有不同:
商业软件公司欧特克公司,如经常分发一组库,你可以用在您自己的程序与特定的软件产品,例如AutodeskRevit进行交互并扩展其功能。
这套库被称为软件产品的API。
你写的软件产品与交互并扩展其功能的程序的类型将取决于如何设计了API和什么有(通过Api)公开为您处理。
什么是一个插件?
软件插件是行为的命令的一类型的程序模块(或文件),将功能添加到软件产品,通常以形式自动执行一项任务或一些自定义的产品。
当你谈论一个插件为Revit——和你还会听到的术语添加在用于本产品——我们是指包含代码,使使用RevitAPI的模块。
Revit加载此类插件,并使用它们来调整其根据某些条件,如由插件的用户执行某个特定命令时的行为。
第2课:
编程概述
在上一课中,您看到了如何通过执行从少量的C#代码生成的插件可以增加AutodeskRevit的生产力。
你有听说过.NET第1课关于编程与Revit。
.NET是一种技术,使通信之间的软件,如果你有兴趣了解更多,你会发现其他主题一节中的信息在这里.
你现在看更密切地在建和在上一课中执行该代码时,发生了什么事。
提供反馈:
请提供关于这种Revit培训或通过电子邮件这一课的反馈:
myfirstplugin@
以"打造"的代码意味着什么?
键入到VisualC#速成课1中的代码是一组需要转换成代码,能理解并由计算机执行的人类可读指令(源代码)。
你执行的"生成"就这样做了:
它打包到一个DLL(动态链接库),它可以加载到AutodeskRevit所产生的可执行代码。
下面的屏幕快照显示的输出以DLL形式以及关联的程序调试数据库(它提供的其他信息进行故障排除DLL时),一旦建立了解决方案1课中使用VisualC#速成版。
获取编译到DLL的路径在VisualC#速成版的项目设置中指定和设置,默认情况下,对VisualC#速成版的项目文件夹的bin子文件夹中。
选择一种编程语言和开发工具
就像人类使用不同的语言来沟通,你有可供您使用的各种语言选项创建Revit插件时:
为本指南的目的我们选择了C#,一强的通用编程语言,是Revit开发人员的欢迎。
有许多工具可用于开发C#代码。
他们从开放源代码工具如SharpDevelop的范围到微软的旗舰,专业的开发环境,VisualStudio。
你的情况你会使用VisualC#速成版,免费版的VisualStudio专注于构建C#应用程序。
VisualC#速成版是代码的集成开发环境(IDE),因为它组成的各种工具、菜单和工具栏,纾缓的创建和管理您。
项目系统在VisualC#速成版中的包括的解决方案和项目文件,以及属于项目的个别
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第一次 Revit 插件 培训
![提示](https://static.bdocx.com/images/bang_tan.gif)