Revit二次开发—更改激活视图(activeview)失败原因

简介: Revit二次开发—更改激活视图(activeview)失败原因

错误提示:

Cannot change the active view of a modifiable document (with a transaction curently open)

原因在于:视图不能在事务进行时更改,因为事务的运行牵扯到视图,视图正在被利用,所以应该在事务提交之后再更改激活视图!


20181114214754853.png

public static void ActiveViewByName(UIApplication app, string viewname)
        {
            Document doc = app.ActiveUIDocument.Document;
            UIDocument uidoc = app.ActiveUIDocument;
            FilteredElementCollector collector
              = new FilteredElementCollector(doc)
                .OfClass(typeof(View));
            foreach (View v in collector)
            {
                Debug.Assert(null != v,
                  "never expected a null view to be returned"
                  + " from filtered element collector");
                // Skip view template here because view 
                // templates are invisible in project 
                // browser
                if (v.Name == viewname && !v.IsTemplate)
                {
                    uidoc.ActiveView = v;
                }
            }
        }

20181114215223972.png


相关文章
Revit 二次开发—通过视图名激活对应视图
Revit 二次开发—通过视图名激活对应视图
Revit 二次开发——设置内置类别在激活视图下的可见性
Revit 二次开发——设置内置类别在激活视图下的可见性
|
开发工具 C# C++
Revit2019二次开发外部工具(附加模块)的安装
Revit2019二次开发外部工具(附加模块)的安装
Revit2019二次开发外部工具(附加模块)的安装
Revit 二次开发—元素处于选中状态(待完善)
Revit 二次开发—元素处于选中状态(待完善)
|
前端开发 测试技术 数据库
【测试平台开发】十七、接口编辑页面实现下拉级联选择,绑定接口所属模块
【测试平台开发】十七、接口编辑页面实现下拉级联选择,绑定接口所属模块
【测试平台开发】十七、接口编辑页面实现下拉级联选择,绑定接口所属模块
|
Web App开发
使用调试的方式搞清楚SAP UI5应用标题的更改方式
使用调试的方式搞清楚SAP UI5应用标题的更改方式
使用调试的方式搞清楚SAP UI5应用标题的更改方式
|
SQL Java 数据库
用户模块之激活功能完成 | 学习笔记
快速学习用户模块之激活功能完成
127 0
|
Shell
SAP成本中心修改后点保存按钮后触发增强FM的调试过程【cmod】【smod】
成本中心的前台操作事务码是ks01 ks02创建和保存,画面如下我们的目标是,点击上图中的【保存】按钮时,触发增强中的FM。进入事务码CMOD成本中心主数据的保存,触发的增强内容是COOMKS02,为什么是它?这件事我们以后再说。
2398 0