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

  • 相关阅读:
    AndroidManifest.xml 注册服务
    Android App消息通知机制【转】
    [转]android之Apache Http——向服务器发送请求的同时发送参数
    [转][WCF REST] 帮助页面与自动消息格式(JSON/XML)选择
    android新手上路之----解决android模拟器不能上网的问题
    mysqli类实例
    MYSQL视图
    jsp传递url地址里带有&的无法接收的解决方法
    Oracle序列归0的2种方法
    使用连接池管理数据库连接
  • 原文地址:https://www.cnblogs.com/mazhiyuan/p/13353277.html
Copyright © 2011-2022 走看看