Revit二次开发之外部应用IExternalApplications和数据库级别的外部应用【比目鱼原创】
public interface IExternalApplication
{
Autodesk.Revit.UI.Result OnShutdown(UIControlledApplication application);
Autodesk.Revit.UI.Result OnStartup(UIControlledApplication application);
}
开发者可以通过实现IExternalApplications来添加自己开发的Revit应用。Revit通过后缀为“.addin”的文件来识别和加载实现IExternalApplication的外部插件。
lExternalApplication的接口要实现两个抽象函数:OnStartup和OnShutdown。用户可以通过这两个函数实现在Revit启动和关闭的时候定制所需的功能。
OnStartup 和 OnShutdown 兩数的参数均为 UIControlledApplication 类型。 UIControlledApplication 类是一种特殊的应用类,它不提供访问Revit的功能。 因为UIControlledApplication只在OnStartup和OnShutdown函数范围内起作用,在这个 作用域区间内用户是无法拿到Revit的文档并对其操作的。
UIComrolledApplication类提供访问定制UI和注册事件的方法
public Autodesk.Revit.UI.Result OnStartup(UIControlledApplication application){//添加一个新的Ribbon面板RibbonPanel ribbonPanel = application.CreateRibbonPanel("NewRibbonPanel");//在新的Ribbon面板上添加一个按钮 PushButton pushButton = ribbonPanel.AddItem(new PushButtonData("HelloRevit", "HelloRevit", @"D:\Projects\HelloRevit\HelloRevit.dll", "HelloRevit.Classl")) as PushButton;return Result.Succeeded;}
public Result OnShutdown(UIControlledApplication application){//UI定制不耑要特别在OnShutdown方法中做处理return Result.Succeeded;}
【数据库(DB)级别的外部应用】
数据库(DB)级别的外部应用与一般外部应用不同的是,它没有提供任何访问Revit UI的接口。它一般用于事件处理,开发者可以通过实现IExternalDBApplication来添加所需的DB基本的外部应用。
同 lExternalApplication 一样,lExternalDBApplication 接 口也有两个抽象函数 OnStartup和OnShutdown。
定义:
public interface lExternalDBApplication{Autodesk.Revit.DB.ExternalDBApplicationResult OnShutdown(UIControlledApplication application);Autodesk.Revit.DB.ExternalDBApplicationResult OnStartup(UIControlledApplication application);}
=========【更多高级应用请关注公众号】========
===================================
Revit二次开发之外部应用IExternalApplications和数据库级别的外部应用【比目鱼原创】相关推荐
- Revit二次开发之判断一个族实例是否基于面创建【比目鱼原创】
=========[更多高级应用请关注公众号]======== =================================== Revit中有些族是不基于面创建,有些族是基于面创建(如环形吸顶 ...
- revit二次开发之数据库的使用
一.背景 小伙伴们在revit二次开发时,可能会需要与数据库做交互,那么如何实现呢? 二.思路 笔者为此录制了一个教学视频,通俗易懂,大家直接看就行了 地址:https://www.bilibili. ...
- Revit二次开发 外部命令和外部应用
外部命令 通过IExternalCommand来添加自己的应用.Revit通过.addin文件来识别和加载外部插件 基本原理 Revit没有其他命令在运行或者没有处于编辑模式,那么已经注册了的外部命令 ...
- Revit二次开发之使用外部程序集DT_Mgd读取CAD图遇到的问题
Revit二次开发学习笔记(一) 最近学习在revit中读取链接的CAD图纸信息(包括文字.图层.各种线型),由于小白也是初学者,遇到了一些问题,如图所示: 通过大量查阅参考资料发现,问题是:在类库项 ...
- Revit二次开发5、外部事件(ExternalEvent)
Revit二次开发5.外部事件(ExternalEvent) 外部事件ExternalEvent简介 事件 外部事件 实现步骤 外部事件的实现 实现IExternalEventHandler接口 Ex ...
- Revit二次开发环境搭建(Revit 2019+Visual Studio 2017)
Revit二次开发环境搭建(Revit 2019+Visual Studio 2017) 安装 Revit 2019 Visual Studio 2017 Revit SDK 2019 配置Addin ...
- Revit二次开发入门相关安装和配置
Revit二次开发入门相关安装和配置 最近一周,由于项目需要,需要做一个基于Revit的二次开发项目,也特意初步自学了Revit二次开发的相关知识.由于学习时间过短,了解到的只是皮毛,所有还希望大家能 ...
- Revit二次开发2、RevitAPI、RevitAPIUI及Revit开发三大利器
Revit二次开发2.开发基础之--RevitAPI.RevitAPIUI及Revit开发三大利器 RevitAPI.dll RevitAPIUI.dll Revit开发三大利器 外部命令(IExte ...
- Revit二次开发之族库管理系统
一.背景 很多小伙伴都想制作族库管理系统,但又不知从何下手,这里骑士给大家分享一下骑士做的族库管理系统,以及用到的一些技术点吧.感兴趣可以加入Q群711844216,有完整的族库开发教学. 二.技术点 ...
最新文章
- 第一部分:基础知识(第一章)屏幕部分续
- ajax包含mysql吗_php 实例ajax与mysql怎么只查询出一条数据?
- 信息学奥赛一本通(1022:整型与布尔型的转换)
- Leetcode每日一题:83.remove-duplicates-from-sorted-list(删除排序链表中的重复元素)
- 数据结构之查找-顺序查找,折半查找,分块查找
- Vue3源码之createApp
- Unity调用打印机
- 在电脑上如何快速制作一寸照片?在线一键制作工具推荐给你
- 服务器的使用:Linux一键搭建KMS激活服务器
- VUE中动态改变字体大小
- Windows 10 修改 Alt+Tab 键 切换 新版 Microsoft Edge 单个标签页窗口
- python 添加半透明水印_如何利用python给图片添加半透明水印
- CPU后面字母究竟是啥?
- 【问题】【实用】java服务假死【CLOSE_WAIT】【线程WAITING】
- sql,python
- matlab 测半高宽,峰位 半高宽
- 股票交易接口api适合什么人群?
- 蓝牙配对不弹配对框_人工智能和字体配对
- python网页版百度_python,_爬虫 页面不存在_百度搜索,python - phpStudy
- 阿里巴巴算法面试经验分享(附面试题及答案)