- 积分
- 165
- 明经币
- 个
- 注册时间
- 2016-9-24
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
- 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,视口并没有旋转。麻烦大神解答一下。
|
|