Revit二次开发中如何切换到3D视图

我们在Revit二次开发中使用过滤器等一些操作的时候通常要固定在某一个视图中,分享一个切换到3D视图的方法,当然切换到其他的2D视图也是同样道理
 

        /// <summary>
        /// 将当前视图切换到三维视图
        /// </summary>
        /// <param name="uidoc"></param>
        public void SwitchTo3DView(UIDocument uidoc, Transaction transation)
        {
            Document document = uidoc.Document;

            //查看当前视图是否为3D视图
            var type = document.ActiveView.GetType();
            if (!typeof(View3D).Equals(type))
            {
                View3D view3D = null;

                //查看当前文件有没有3D视图
                FilteredElementCollector fristCollector = new FilteredElementCollector(document).OfClass(typeof(View3D));
                foreach (View3D view in fristCollector)
                {
                    if ("{三维}".Equals(view.Name))
                    {
                        view3D = view;
                        break;
                    }
                }

                //如果没有找到3D视图,创建一个
                if (view3D == null)
                {
                    //过滤出三维视图
                    ElementId viewFamilyTypeId = new ElementId(0);
                    FilteredElementCollector secondCollector = new                        FilteredElementCollector(document).OfClass(typeof(ViewFamilyType));
                    foreach (ViewFamilyType viewFamilyType in secondCollector.ToList())
                    {
                        if ("三维视图".Equals(viewFamilyType.Name))
                        {
                            transation.Start("新建三维视图");
                            view3D = View3D.CreateIsometric(document, viewFamilyType.Id);
                            transation.Commit();
                            break;
                        }
                    }
                }

                //切换到三维视图
                uidoc.ActiveView = view3D;
            }

        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值