RevitAPI: 关闭当前文档Close Active Document
来源:互联网 发布:面试谈谈工作经历知乎 编辑:程序博客网 时间:2024/06/08 10:49
有客户想要实现关掉当前文档,再重新打开,他参考了Jeremy的博客,产生了一些Event相关的问题,只是看了半天问题描述,有点晕。
我们知道要关掉一个文档可以调用UIDocument.SaveAndClose()或者Document.Close(),然而,如果要关闭当前打开的文档的话,会得到一个异常:InvalidOperationException: The active document may not be closed from the API.
意思是不能关掉当前激活状态的文档。
只有使用一些其他方法了,Jeremy提到使用往Revit发送消息的方法,往Revit发送Ctrl+F4键盘消息,即:
SendKeys.SendWait( "^{F4}" );
还有另外一个方法,就是打开并激活一个别的文档,然后把前面这个文档关掉,这也是客户要使用的方法,只是博客里面代码有点长,
总结下来,其实真正起作用的也就这几行代码:
var placeholderFile = @"C:\placeholder.rvt";var doc = commandData.Application.ActiveUIDocument.Document;var file = doc.PathName;var docPlaceholder = commandData.Application.OpenAndActivateDocument(placeholderFile);doc.Close(false);var uidoc = commandData.Application.OpenAndActivateDocument(file);docPlaceholder.Document.Close(false);步骤:
- 打开并激活另一个文档docPlaceholder
- 关掉文档doc
- 打开并激活doc
- 关掉docPlaceholder
0 0
- RevitAPI: 关闭当前文档Close Active Document
- document.close()
- document.close()
- RevitAPI:不要在遍历(Iterate)过滤出来的收集器(FilteredElementCollector)时修改文档(Document)
- 关闭当前(Active)视图和关闭所有视图
- 关闭当前(Active)视图和关闭所有视图
- Revit 二次开发 - 关闭当前文档
- javascript window.close()无法关闭当前标签页面
- JS使用window.close()关闭当前页(兼容firefox)
- 当前日志损坏(ACTIVE,CURRENT),数据库正常关闭
- document.Close() 存在二义性
- 6. Document close() 方法
- document.write()/document.open()/document.close() 用法
- Windows -键盘关闭当前窗口/文档/锁屏
- window.close()与document.close()的区别
- 解决Firefox中有时使用window.close()脚本无法关闭当前窗口的方法
- C#之WinForm基础 点击button关闭当前窗体,用this.close()
- js点击关闭当前浏览器Scripts may close only the windows that were opened by it.
- 真的防弹吗?AEGIS防弹手机贴膜真枪实测
- datagridview 属性及使用
- Spring 系列: Spring 框架简介
- Merge Sorted Array
- Android 基于google Zxing实现对手机中的二维码进行扫描
- RevitAPI: 关闭当前文档Close Active Document
- Solr4.10使用教程(一):solr整合tomcat方法一
- Mac android studio 连接svn导入项目遇到的问题
- jquery 父节点
- 在C++ 中 如何调用 C# 写的DLL
- 斯坦福《机器学习》Lesson1-3感想-------3、线性回归二
- Unity导出的Android项目按钮无法点击问题
- java基础学习笔记3
- 用java实现音乐的播放