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个接口的具体方法的内容该怎么使用,我现在也还不会,暂时就先不写。后面有心情再写了。