您的位置:首页 > 编程语言 > C#

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

2013-09-22 14:28 363 查看
 

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

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

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给我。 若转载,请注明出处。谢谢。

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c# cad
相关文章推荐