viewport下设置ucs怎么不能直接显示旋转啊?
using (Transaction trans = db.TransactionManager.StartTransaction()){
try
{
ObjectId ucsId = NewUCS(name);
ucsId.SetUCSOrigin(Point3d.Origin);
double rot = (Math.Atan(dy / dx) / Math.PI * 180);
ucsId.RotateUCS(rot, Vector3d.ZAxis);
//将活动空间切换到图纸空间
db.TileMode = false;
ed.SwitchToPaperSpace();
//新建一个常规矩形视口
Viewport vport = new Viewport();
//设置视口的中点
vport.CenterPoint = new Point3d(104.4705, 74.3514, 0);
vport.Width = 200;//视口的宽度
vport.Height = 136;//视口的高度
db.AddToPaperSpace(vport);//将视口添加到图纸空间
//修改视口的观察方向
vport.ViewCenter = 中点;
vport.ViewDirection = new Vector3d(0, 0, 0);
vport.UcsFollowModeOn = true;
vport.UpgradeOpen();
//ed.SwitchToModelSpace();//切换到模型空间
vport.On = true;//启用新建的视口
ed.SetCurrentVPort(vport);//将新视口置为当前
vport.SetUcs(ucsId);
ed.ZoomExtents();
trans.Commit();
}
catch (Autodesk.AutoCAD.Runtime.Exception ex)
{
//放弃事务
trans.Abort();
MessageBox.Show(string.Format("捕获到未处理异常:{0}\r\n异常信息:{1}\r\n异常堆栈:{2}", ex.GetType(), ex.Message, ex.StackTrace));
}
}这样设置ucs,视口并没有旋转。麻烦大神解答一下。
页:
[1]