18122393143
聚焦行业热点资讯  走在新基建建设前沿
BIM二次开发-使用ExternalEvent实现非模态窗体命令

聚焦行业热点资讯 走在新基建建设前沿

首页 > 资讯中心 > Revit教程

BIM二次开发-使用ExternalEvent实现非模态窗体命令

2019/09/05

上一讲中,我们利用WPF创建简单的界面,并通过点击按钮选择族,来显示族的信息,但如果我们想通过点击按钮建立事务实现对Revit文档的修改,就没有那么容易了,Revit从2013版之后就不允许在外部窗体下直接开启事务,这时,我们可以使用模态窗体阻止线程的运行解决此问题,窗体本质上就是用户与程序的交互界面,在窗体上设置好数据然后传递给主程序,但如果我们需要频繁的数据交互,模态窗体显然是很不方便的,RevitAPI为我们提供了外部事件ExternalEvent的方法,接下来我们使用ExternalEvent实现非模态窗体命令。

知识点介绍(关于模态与非模态窗体)

模态与非模态窗体的主要区别是窗体显示的时候是否可以操作其他窗体。模态窗体不允许操作其他窗体,非模态窗体可以操作其他窗体。

呈上代码

首先创建一个新类并继承IExternalEventHandler

注册一个通用外部事件可直接在窗体中使用事务

编写代码如下:

BIM二次开发-使用ExternalEvent实现非模态窗体命令

 Class1类中修改代码如下:

BIM二次开发-使用ExternalEvent实现非模态窗体命令

窗体代码:

添加字段如下

BIM二次开发-使用ExternalEvent实现非模态窗体命令

添加构造函数重载

BIM二次开发-使用ExternalEvent实现非模态窗体命令

调用外部事件方法并建立事务

将之前创建基于标高实例的代码移动到点击按钮的事件下

BIM二次开发-使用ExternalEvent实现非模态窗体命令

BIM二次开发-使用ExternalEvent实现非模态窗体命令

窗体界面如图

BIM二次开发-使用ExternalEvent实现非模态窗体命令

运行结果:

点击创建族实例按钮

BIM二次开发-使用ExternalEvent实现非模态窗体命令

Revit中会出现通过点击按钮创建的树的实例

BIM二次开发-使用ExternalEvent实现非模态窗体命令

小编有话说

到目前为止,我们的第一个Revit二次开发 小案例就完成了,在案例中介绍了Revit二次开发很基本也非常重要的知识,其中第一讲介绍了创建族实例的方法,第二讲介绍了修改族参数与创建基于标高族实例的方法,第三讲介绍了WPF的基本知识,并通过实现了通过选择元素,在界面显示元素信息的功能,第四讲介绍了建立外部事件来实现在外部窗体下开启事务修改Revit文档。

本次小案例旨在能够激发大家对Revit二次开发的兴趣,帮助大家快速熟悉二次开发的过程。

艾三维技术信息技术有限公司专注BIM咨询|软件出售|BIM平台研发|建模出图|BIM培训|工程动画
咨询热线:4000333136   微信:18122393143

BIM二次开发-使用ExternalEvent实现非模态窗体命令

相关阅读
「Revit教程」revit中如何将cad图框转换为revit的图框

「Revit教程」revit中如何将cad图框转换为revit的图框

在Revit中出图的时候,往往需要使用对应项目的图框,然而手动绘制太麻烦,如果恰好有现成的cad图框,这个时候如何做呢。以创建A3图框为例。

BIM软件 Revit2018安装资料包及安装教程

BIM软件 Revit2018安装资料包及安装教程

Revit是一款三维建筑信息模型建模软件,主要是专为建筑信息模型【BIM】构建的,适用于建筑设计、MEP工程、结构工程和施工领域,如何获取Revit2018 64位软件安装包?添加艾三维BIM技术交流QQ群: 657652939 (群文件自行下载软件与 Revit教程) Revit2018安装步骤:1.鼠标右击软件压缩包,选择“解压...

  • 服务热线

    18122393143

  • 总部地址

    广州市越秀区沿江中路298号中区6楼自编609房

  • 邮箱

    junhecs@i3vsoft.com

  • QQ
  • 微博
  • 微信
广州君和信息技术有限公司版权所有