惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Google Online Security Blog
Google Online Security Blog
博客园_首页
酷 壳 – CoolShell
酷 壳 – CoolShell
Jina AI
Jina AI
博客园 - Franky
大猫的无限游戏
大猫的无限游戏
Hugging Face - Blog
Hugging Face - Blog
博客园 - 司徒正美
V
V2EX
雷峰网
雷峰网
云风的 BLOG
云风的 BLOG
V
Visual Studio Blog
F
Full Disclosure
Y
Y Combinator Blog
V
V2EX - 技术
Attack and Defense Labs
Attack and Defense Labs
S
Security @ Cisco Blogs
Schneier on Security
Schneier on Security
Microsoft Azure Blog
Microsoft Azure Blog
SecWiki News
SecWiki News
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
The GitHub Blog
The GitHub Blog
量子位
PCI Perspectives
PCI Perspectives
S
Secure Thoughts
D
Darknet – Hacking Tools, Hacker News & Cyber Security
AWS News Blog
AWS News Blog
Blog — PlanetScale
Blog — PlanetScale
爱范儿
爱范儿
K
Kaspersky official blog
B
Blog
A
Arctic Wolf
Hacker News: Ask HN
Hacker News: Ask HN
L
LangChain Blog
T
Tor Project blog
P
Privacy & Cybersecurity Law Blog
Recent Announcements
Recent Announcements
宝玉的分享
宝玉的分享
The Register - Security
The Register - Security
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
L
Lohrmann on Cybersecurity
D
Docker
A
About on SuperTechFans
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Google DeepMind News
Google DeepMind News
The Last Watchdog
The Last Watchdog
S
Security Affairs
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
P
Privacy International News Feed
Simon Willison's Weblog
Simon Willison's Weblog

博客园 - 愚

Revit:二开使用Sqlite保存本地数据,并配合EF6等ORM框架 Revity:查找并修改类型参数和实例参数 复习一下UML Revit:ElementFilter过滤器基类 Revit:Element、Reference、ReferenceIntersector、ReferenceWithContext的理解 Revit:使用代码如何发出选点、选对象指令 Reivt:过滤器FilteredElementIterator,采集器FilteredElementCollector Revit:Transaction事务 Revit:弄清楚Application、UIApplication、UIDocument 、Document、DocumentSet之间的关系 什么是假程序员 若我有一天 聊聊面试官那些事。。分享我的个人看法,认同的顶一顶。。。 提供一个中国身份证号码判断的类 分享一个自己写的取中国农历相关数据的类。包含:农历年月日,生肖,星座,年龄,天干,地支等方法 从结亲网 的架构谈起,谈什么架构, 我理解的架构。我想很多人理解的架构应该可能比较 狭义 面向对象的全套“企业微信”api接口的代码实现,网上太多“面向过程”微信api接口的代码,这个开源给需要的人用 解决:百度编辑器UEditor,怎么将图片保存到图片服务器,或者上传到ftp服务器的问题(如果你正在用UE,这篇文章值得你看下) (原创)面向对象的系统对接接口编写。第5篇(完结) (原创)面向对象的系统对接接口编写。第4篇
Revit:IExternalCommand和IExternalApplication的区别
· 2020-07-21 · via 博客园 - 愚

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