AutoCAD .Net 在WCS和UCS下创建图元
来源:互联网 发布:淘宝店铺认证照片要求 编辑:程序博客网 时间:2024/05/11 22:10
AutoCAD存在常见的两个坐标系:
* WCS 世界坐标系
* UCS 用户坐标系
默认状态下,UCS 和 WCS是重合的。
当然用户可以在命令行使用命令ucs
设置 UCS 与 WCS 不同。
我们在 AutoCAD 界面中,通过操作创建的图元都是基于 UCS 的。
那通过代码,怎样分别在 UCS 和 WCS 下创建图元呢?
以下通过分别在 WCS 和 UCS 下创建圆来演示:
基于 WCS,创建圆心为(0, 0, 0),半径为 10的圆。
Document doc = Application.DocumentManager.MdiActiveDocument;Database db = doc.Database;using (Transaction tr = db.TransactionManager.StartTransaction()){ BlockTableRecord currSpace = tr.GetObject(db.CurrentSpaceId, OpenMode.ForWrite) as BlockTableRecord; Circle circle = new Circle(); circle.Radius = 10; circle.Center = new Point3d(0, 0, 0); currSpace.AppendEntity(circle); tr.AddNewlyCreatedDBObject(circle, true); tr.Commit();}
基于 UCS,创建圆心为(0, 0, 0),半径为 10的圆。
在以上代码的基础上,增加了一条语句,将 UCS 坐标转换为 WCS 坐标。 circle.TransformBy(doc.Editor.CurrentUserCoordinateSystem);
Document doc = Application.DocumentManager.MdiActiveDocument;Database db = doc.Database;using (Transaction tr = db.TransactionManager.StartTransaction()){ BlockTableRecord currSpace = tr.GetObject(db.CurrentSpaceId, OpenMode.ForWrite) as BlockTableRecord; Circle circle = new Circle(); circle.Radius = 10; circle.Center = new Point3d(0, 0, 0); circle.TransformBy(doc.Editor.CurrentUserCoordinateSystem); currSpace.AppendEntity(circle); tr.AddNewlyCreatedDBObject(circle, true); tr.Commit();}
参考文章
AutoCAD .NET & VB.NET: UCS/WCS Entity Creation and Matrix3d/Transformation
阅读全文
0 0
- AutoCAD .Net 在WCS和UCS下创建图元
- AutoCAD .Net 将拾取点坐标由UCS转换到WCS
- AutoCAD .Net 将当前用户坐标系(UCS)设置为世界坐标系(WCS)
- UCS和WCS之间的坐标互换
- AutoCAD .Net 设置UCS与直线对齐
- 用.Net在AutoCAD中创建包含文字的线型
- AutoCAD .Net 创建直线Line
- AutoCAD .Net 创建多段线Polyline
- AutoCAD .Net 创建圆Circle
- AutoCAD .Net 创建圆弧Arc
- AutoCAD .Net 创建椭圆Ellipse
- AutoCAD .Net 创建点Point
- AutoCAD .Net 创建填充Hatch
- AutoCAD .Net 创建线性标注
- AutoCAD .Net 创建对齐标注
- ObjectARX和.Net混合编程在AutoCAD二次开发中的应用
- AutoCAD.NET创建对象之绘制直线
- AutoCAD.NET创建对象之绘制圆
- 字典有关
- opencv——轨迹条控制图像对比度与亮度
- 1.ajax同步和异步区别 2.post和get区别
- 考题篇(5.4) NSE4 04. 网络地址转换 ❀ 飞塔 (Fortinet) 网络安全专家
- ubuntu 16.04下安装caffe
- AutoCAD .Net 在WCS和UCS下创建图元
- 机房重构总结
- OS实验第九次作业 定制生成proc文件编写内核模块的helloword
- 今天是个重要日子, mark一下
- 《经济学原理》
- TCP协议的三次握手和四次挥手
- spring HelloWorld
- opencv/c++ 简单的图像分割方法改进,轮廓处理,直方图绘制
- 简易扫雷游戏