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里修改管道附件中部分构件的显示情况

「Revit教程」在Revit里修改管道附件中部分构件的显示情况

在Revit中修改管道附件中部分构件的显示情况。在Revit建模过程中,需要在模型中放置设备,例如风机,可以分为吊装式和落地式的,两者的区别在在于有无底座,这时就可以通过控制族中部分构件的显示情况来满足要求。

二次开发-创建族实例(二)

二次开发-创建族实例(二)

在上一讲中,介绍了通过二次开发创建族实例,并获取族参数,修改角度参数的实现方法,但仍存在一些不足,比如在运行Revit后需要手动将做的族载入的Revit,本讲将对其进行改进。并介绍另一种创建族实例的方法。

  • 服务热线

    18122393143

  • 总部地址

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

  • 邮箱

    junhecs@i3vsoft.com

  • QQ
  • 微博
  • 微信
广州君和信息技术有限公司版权所有
欢迎光临~千蚁客服正在为您服务
请在对话框中输入您想咨询的问题
电话联系
发送(Enter)
高效、便捷、一站式组织协同
千蚁云巢智能协同平台,模板化事项管理,覆盖不同行业工作需求,提升工作效率。
联系电话:18122393143
邮箱地址:kefu@teamco.com.cn
您可能想了解
· 千蚁云巢有哪些功能?
· 千蚁云巢是免费的吗?
· 千蚁云巢支持哪些工作场景?
· 千蚁云巢的应用是否可定制?
· 现在定购有哪些优惠?
· 是否可以预约远程演示?
请您留言

艾三维软件-专注基础设施行业BIM软件18122393143

提交