AutoCAD二次开发之视图操作(3)指定视图大小和中心点来设置视图

 

此方法实现通过指定三维点和视图长宽,设置视图。

注:该方法显示的是俯视视角设置视图

vtr.CenterPoint = new Point2d(vp.X, vp.Y);

如果直接使用,请注意。

因核心处理代码相似。所以方法的说明请见上文。

 

  /// <summary>
        /// 给定观察点与边界值,进行视图显示
        /// </summary>
        /// <param name="vp">观察点</param>
        /// <param name="height">长度</param>
        /// <param name="width">宽度</param>
        public void VPoint(Point3d vp, Double height, Double width)
        {
         
            try
            {
               
                using (Database db = HostApplicationServices.WorkingDatabase)
                {
                  
                    using (Transaction trans = db.TransactionManager.StartTransaction())
                    {
                       
                        ViewTable vt = (ViewTable)trans.GetObject(db.ViewTableId, OpenMode.ForWrite);
                    
                        ViewTableRecord vtr = new ViewTableRecord();
                      
                        if (vt.Has("tempView"))
                        {
                        
                            vtr = (ViewTableRecord)trans.GetObject(vt["tempView"], OpenMode.ForWrite);
                        }
                        else
                        {
                           
                            vtr.Name = "tempView";
                            vt.Add(vtr);
                            trans.AddNewlyCreatedDBObject(vtr, true);
                        }
                   
                        vtr.CenterPoint = new Point2d(vp.X, vp.Y);
                     
                        vtr.Height = height;
                    
                        vtr.Width = width;
                   
                        trans.Commit();
                       
                        Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;
                       
                        ed.SetCurrentView(vtr);
                    }
                }
            }
            finally
            {

            }

        }
如有问题:请加qq1419226548或QQmail给我。 若转载,请注明出处。谢谢。

 

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值