CAD二次实验报告2

上传人:宝路 文档编号:7005633 上传时间:2017-09-15 格式:DOCX 页数:11 大小:89.30KB
返回 下载 相关 举报
CAD二次实验报告2_第1页
第1页 / 共11页
CAD二次实验报告2_第2页
第2页 / 共11页
CAD二次实验报告2_第3页
第3页 / 共11页
CAD二次实验报告2_第4页
第4页 / 共11页
CAD二次实验报告2_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《CAD二次实验报告2》由会员分享,可在线阅读,更多相关《CAD二次实验报告2(11页珍藏版)》请在金锄头文库上搜索。

1、CAD 开发实验(二)实验二 AutoCAD 基本图形对象创建与编辑一、主要内容1、 创建直线2、 创建圆3、 创建圆弧4、 创建多段线5、 创建椭圆6、 样条曲线7、 创建面域8、 创建文字9、 创建填充10、创建尺寸标注11、创建三维实体二、学时安排三、预习内容回顾 AutoCAD 图形对象创建的一般过程。四、基本图形对象创建与编辑4.1 基本图形对象创建4.1.1 创建直线代码:CommandMethod(CreatLine)public void CreatLine()Database db = HostApplicationServices.WorkingDatabase;using

2、 (Transaction trans=db.TransactionManager .StartTransaction() )/creatlinePoint3d pt1=new Point3d (20,20,0);Point3d pt2=new Point3d (100,100,0);Line lineEnt = new Line(pt1, pt2);BlockTable bt = (BlockTable)trans.GetObject(db.BlockTableId, OpenMode.ForRead);BlockTableRecord btr=(BlockTableRecord )tran

3、s.GetObject (btBlockTableRecord.ModelSpace,OpenMode .ForWrite);PModifyEntID=btr.AppendEntity(lineEnt); trans.AddNewlyCreatedDBObject (lineEnt,true );trans.Commit();CommandMethod(ModifyLine)public void ModifyLine()Database db = HostApplicationServices.WorkingDatabase;using (Transaction trans = db.Tra

4、nsactionManager.StartTransaction() Entity pEnt = (Entity)trans.GetObject(PModifyEntID, OpenMode.ForWrite); pEnt.ColorIndex = 1;pEnt.Close();trans.Commit();4.1.2 创建圆代码:CommandMethod(Cir)public void Circle()/声明圆对象Circle c = new Circle();c.Center = new Point3d(0, 0, 0);c.Radius = 100;Database db = Host

5、ApplicationServices.WorkingDatabase;/启动事务using (Transaction trans = db.TransactionManager.StartTransaction()/创建块表BlockTable c_block = (BlockTable)trans.GetObject(db.BlockTableId, OpenMode.ForRead);/读取,0BlockTableRecord c_block_record = (BlockTableRecord)trans.GetObject(c_blockBlockTableRecord.ModelS

6、pace, OpenMode.ForWrite);/写入,1c_block_record.AppendEntity(c);/块表记录追加实体,把图形对象的记录加入到块表记录trans.AddNewlyCreatedDBObject(c, true);/将圆添加到事务处理中trans.Commit();/提交事务4.1.3 创建圆弧代码:/创建圆弧CommandMethod(CreatAre)public void CreatArc() Database db = HostApplicationServices.WorkingDatabase;using (Transaction trans =

7、 db.TransactionManager.StartTransaction() Arc pArc = new Arc(new Point3d(50, 50, 0), 100, 0, 100);BlockTable bt = (BlockTable)trans.GetObject(db.BlockTableId, OpenMode.ForRead);BlockTableRecord btr = (BlockTableRecord)trans.GetObject(btBlockTableRecord.ModelSpace, OpenMode.ForWrite);btr.AppendEntity

8、(pArc);trans.AddNewlyCreatedDBObject(pArc, true);trans.Commit();4.1.4 创建多段线代码:/创建多段线CommandMethod(CPloyline)public void createPloyline1() Polyline pl = new Polyline(5);Database db = HostApplicationServices.WorkingDatabase;using (Transaction trans = db.TransactionManager.StartTransaction() Point2d p1

9、 = new Point2d(50, 10);Point2d p2 = new Point2d(100, 30);Point2d p3 = new Point2d(150, 60);Point2d p4 = new Point2d(200, 90);Point2d p5 = new Point2d(250, 120);Point2dCollection pc = new Point2dCollection();pc.Add(p1);pc.Add(p2);pc.Add(p3);pc.Add(p4);pc.Add(p5);for (int i = 0; i 5; i+) pl.AddVertexA

10、t(i, pci, 0.5, 5, 5);BlockTable bt = (BlockTable)trans.GetObject(db.BlockTableId, OpenMode.ForRead);BlockTableRecord btr = (BlockTableRecord)trans.GetObject(btBlockTableRecord.ModelSpace, OpenMode.ForWrite);btr.AppendEntity(pl);trans.AddNewlyCreatedDBObject(pl, true);trans.Commit();4.1.5 创建椭圆代码:/创建椭

11、圆CommandMethod(CEllipse)public void Ellipse()Database db = HostApplicationServices.WorkingDatabase;using (Transaction trans = db.TransactionManager.StartTransaction()Ellipse pEllipse = new Ellipse(new Point3d(150, 150, 0), new Vector3d(0, 0, 50), new Vector3d(50, 50, 0), 0.8, 0, 0); BlockTable bt =

12、(BlockTable)trans.GetObject(db.BlockTableId, OpenMode.ForRead);BlockTableRecord btr = (BlockTableRecord)trans.GetObject(btBlockTableRecord.ModelSpace, OpenMode.ForWrite);btr.AppendEntity(pEllipse);trans.AddNewlyCreatedDBObject(pEllipse, true);trans.Commit();4.1.6 样条曲线代码:/创建样条曲线CommandMethod(CSpline)

13、public void CreateSpline() Database db = HostApplicationServices.WorkingDatabase;using (Transaction trans = db.TransactionManager.StartTransaction() Point3d p1 = new Point3d(50, 30, 0);Point3d p2 = new Point3d(100, 60, 0);Point3d p3 = new Point3d(150, 520, 0);Point3d p4 = new Point3d(200, 240, 0);Po

14、int3d p5 = new Point3d(250, 300, 0);Point3dCollection pc = new Point3dCollection();pc.Add(p1);pc.Add(p2);pc.Add(p3);pc.Add(p4);pc.Add(p5);Spline spline = new Spline(pc, 2, 5);BlockTable bt = (BlockTable)trans.GetObject(db.BlockTableId, OpenMode.ForRead);BlockTableRecord btr = (BlockTableRecord)trans

15、.GetObject(btBlockTableRecord.ModelSpace, OpenMode.ForWrite);btr.AppendEntity(spline);trans.AddNewlyCreatedDBObject(spline, true);trans.Commit();4.1.7 创建面域代码:/创建面域CommandMethod(CPolygon)public void CreatePolygon() Database db = HostApplicationServices.WorkingDatabase;using (Transaction Trans = db.TransactionManager.StartTransaction() Point3d center = new Point3d(50, 50, 0);Circle entity = new Circle(center, Vector3d.ZAxis, 150);DBObjectCollection curveSegments = new DBObjectCollection();DBObjectCollection regions = new DBObjectCollection();curveSegments.Add(entity);regions = Region.Crea

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号