上一讲中,我们利用WPF创建简单的界面,并通过点击按钮选择族,来显示族的信息,但如果我们想通过点击按钮建立事务实现对Revit文档的修改,就没有那么容易了,Revit从2013版之后就不允许在外部窗体下直接开启事务,这时,我们可以使用模态窗体阻止线程的运行解决此问题,窗体本质上就是用户与程序的交互界面,在窗体上设置好数据然后传递给主程序,但如果我们需要频繁的数据交互,模态窗体显然是很不方便的,RevitAPI为我们提供了外部事件ExternalEvent的方法,接下来我们使用ExternalEvent实现非模态窗体命令。
知识点介绍(关于模态与非模态窗体)
模态与非模态窗体的主要区别是窗体显示的时候是否可以操作其他窗体。模态窗体不允许操作其他窗体,非模态窗体可以操作其他窗体。
呈上代码
首先创建一个新类并继承IExternalEventHandler
注册一个通用外部事件可直接在窗体中使用事务
编写代码如下:
Class1类中修改代码如下:
窗体代码:
添加字段如下
添加构造函数重载
调用外部事件方法并建立事务
将之前创建基于标高实例的代码移动到点击按钮的事件下
窗体界面如图
运行结果:
点击创建族实例按钮
Revit中会出现通过点击按钮创建的树的实例
小编有话说
到目前为止,我们的第一个Revit二次开发 小案例就完成了,在案例中介绍了Revit二次开发很基本也非常重要的知识,其中第一讲介绍了创建族实例的方法,第二讲介绍了修改族参数与创建基于标高族实例的方法,第三讲介绍了WPF的基本知识,并通过实现了通过选择元素,在界面显示元素信息的功能,第四讲介绍了建立外部事件来实现在外部窗体下开启事务修改Revit文档。
本次小案例旨在能够激发大家对Revit二次开发的兴趣,帮助大家快速熟悉二次开发的过程。
本次课程适合建筑设计公司、施工单位报名学习,讲解了企业Revit平台的代价以及标准的设置,和Revti导出CAD对应CAD标准的相关设置的介绍,并提供了企业 Revit标准样板、企业Revit图框、和 Revit 导出CAD标准的文件、Revit出图标准、文件命名标准文件作为参考 以个人经验浅谈各方企业BIM的应用范围、实施...
很多小伙伴在学习BIM软件的过程中,都会遇到电脑硬件问题,因此艾三维小编按照BIM学习的各阶段,列出了对电脑硬件的要求。如果同学们想自己组装电脑,可以参考下面给出的配置清单;那如果想买品牌机,那就从小筑整理的这些款型中挑选一款~