Revit:IExternalCommand和IExternalApplication的区别

事先说明,由于本人是刚接触Revit,所有知识点,都是我自己一边研究一边写的。所以,可能是有错误的,若有错误,还望指正和海涵。

 

今天想搞清楚IExternalCommand和IExternalApplication的区别,找了一些资料,也没有相关的说明,更多的是举例子。那么我来说一下。

 

Revit有一个启动过程,启动了后才开始打开工程项目开始你的工作,那么:

启动开始的时候 ,会进行加载IExternalApplication的扩展接口,并调用该接口下的OnStartup方法进行初始化,当关闭Revit的时候,就会调用另一个接口方法:OnShutdown。

IExternalApplication本身没有任何的业务逻辑功能可以实现,仅仅是给你用于在Revit整个Application过程中初始化或者关闭时加载事件使用,所以,可以使用此接口来给Revit加上按钮菜单。

通常,IExternalApplication接口的OnStartup可以用来给Revit面板新增各种功能菜单,而这些菜单你可以让他启动某一个IExternalCommand的具体业务功能。

 

好,那么顺理成章的,IExternalCommand就是实现具体的业务功能的接口。该接口无法创建一个菜单,若要通过点击某个菜单上的按钮来加载此IExternalCommand的业务功能,就要使用上面的IExternalApplication来增加。

所以,这2个接口是可以相互配合工作的,而不是谁取代谁的问题。

IExternalCommand接口有一个Execute方法,用它便可以实现你具体的业务逻辑。

 

本随笔仅仅是说明IExternalCommand和IExternalApplication的区别,所以,对于2个接口的具体方法的内容该怎么使用,我现在也还不会,暂时就先不写。后面有心情再写了。

 

posted @ 2020-07-21 09:46    阅读(679)  评论(0编辑  收藏  举报