Revit 二次开发 - 关闭当前文档
来源:互联网 发布:警用手铐淘宝哪里有卖 编辑:程序博客网 时间:2024/05/24 03:17
学习完 The Building Coder 最新的博文 Installing a Macro and Closing the Active Document 之后,有些想法和大家交流一下。
通过编程方式关闭 Revit 的当前文档一直没有直接的 API 支持。其实就连打开指定文档并将其设置为当前文档也是直到 Revit 2013 才通过 OpenAndActiveDocument() 方法直接提供支持的。之前 Jeremy 介绍过一种通过向 Revit 发送 Windows 窗口消息(Alt+F4)的方式来关闭当前文档。经过测试发现不太靠谱。最明显的一个问题就是 Alt+F4 在 Revit 程序主窗口不是 Windows 操作系统的主窗口时工作不稳定。
Jeremy 在最新的博文中引用了 Steven Mycynek (Revit API 开发小组成员) 提供的一个宏来解决关闭当前窗口的问题。通过研究宏代码发现,其实它背后的原理可以用一句话说明:将当前文档切换为后台文档(或内存文档),然后使用 Autodesk.Revit.DB.Document.Close() 直接关闭。
我们都知道 Autodesk.Revit.DB.Document.Open() / Close() 可以用于打开或者关闭内存(没有对应 UIDocument)中的 Revit 文档。所以我们只要能找到将当前文档转换为内存文档的方法就可以了。Steven 的办法是创建一个空文档。然后在每次需要关闭当前文档时,首先使用 OpenAndActiveDocument() 打开这个空文档。这个操作同时就将当前文档转换为内存文档了。
- Revit 二次开发 - 关闭当前文档
- Revit 二次开发 - 多文档处理
- Revit 二次开发
- Revit二次开发之Journal日志文档【比目鱼原创】
- Revit 二次开发现状(2009)
- Revit 二次开发前景
- Revit 二次开发 - 开发资源
- <Revit二次开发>HelloWorld
- Revit二次开发首次使用
- revit二次开发,隔离构件
- Revit二次开发之入门
- Revit二次开发--"Hello World"
- Revit二次开发--过滤对象
- Revit二次开发曲线操作
- 如何开始Revit二次开发
- Revit二次开发 安装AddinManager
- revit二次开发基础
- Revit二次开发手记【1】
- 字符数组的复制!!
- expression 5+4*(7-15) or have parenthesis in any order // 波兰表示法
- 自组织网络对样本数据进行分类(转)
- Activity传递图片
- 函数指针
- Revit 二次开发 - 关闭当前文档
- byte、half-word、word的区别
- 工欲善其事必先利其器,工具之网络篇
- 免费开源解压缩软件7-Zip
- Windows线程基础
- 正则表达式基础实例
- 黑马程序员_java之银行业务调度系统(很重要)
- Matlab 如何截取视频中的每一帧图像
- 简易C++学生管理系统