此方法实现通过指定三维点和视图长宽,设置视图。
注:该方法显示的是俯视视角设置视图
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给我。 若转载,请注明出处。谢谢。