ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:271.52KB ,
资源ID:7751700      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7751700.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(AutoCAD二次开发实验二.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

AutoCAD二次开发实验二.docx

1、AutoCAD二次开发实验二实验二 AutoCAD基本图形对象创建与编辑1,创建直线对象代码如下:CommandMethod(CreatLine) public void creatline() Database db = HostApplicationServices.WorkingDatabase; using (Transaction trans = db.TransactionManager.StartTransaction() /创建直线 Point3d pt1 = new Point3d(2000, 2000, 0); Point3d pt2 = new Point3d(1000,

2、 1000, 0); Line lineEnt = new Line(pt1, pt2); /获得块表 BlockTable bt = (BlockTable)trans.GetObject(db.BlockTableId, OpenMode.ForRead); /获得特定块表记录 BlockTableRecord btr = (BlockTableRecord)trans.GetObject(btBlockTableRecord.ModelSpace, OpenMode.ForWrite); /把图形对象的记录加入到块表中 pModifyEntID = btr.AppendEntity(li

3、neEnt); /将直线添加到事务处理中 trans.AddNewlyCreatedDBObject(lineEnt, true); trans.Commit(); 运行效果如下图所示修改直线代码如下:CommandMethod(ModifyLine) public void ModifyLine() Database db = HostApplicationServices.WorkingDatabase; using (Transaction trans = db.TransactionManager.StartTransaction() /打开要修改的图形对象,定义一个实体对象 Enti

4、ty pEnt = (Entity)trans.GetObject(pModifyEntID, OpenMode.ForWrite); /修改颜色 pEnt.ColorIndex = 5; pEnt.Close(); trans.Commit(); 2,创建圆对象代码如下:CommandMethod(CreatCir) public void Circle() /声明圆对象 Circle c = new Circle(); c.Center = new Point3d(0, 0, 0); c.Radius = 100; Database db = HostApplicationServices

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

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

7、nsactionManager.StartTransaction() /创建圆弧,指定圆心,半径,起始角,终止角 Arc pArc = new Arc(new Point3d(100,100,0),3000,0,30); /获得块表 BlockTable pBlkTbl = (BlockTable)trans.GetObject(db.BlockTableId,OpenMode.ForRead); /获得特定块表记录 BlockTableRecord pBlkTblRec = (BlockTableRecord)trans.GetObject(pBlkTblBlockTableRecord.M

8、odelSpace,OpenMode.ForWrite); /将图形对象的记录加到块表记录中 pBlkTblRec.AppendEntity(pArc); /将圆弧添加到事务处理中 trans.AddNewlyCreatedDBObject(pArc,true); trans.Commit(); 4,创建多段线:代码如下:/创建多段线 CommandMethod(CreatPloyline) public void createPloyline1() Polyline pl = new Polyline(5); Database db = HostApplicationServices.Wor

9、kingDatabase; using (Transaction trans = db.TransactionManager.StartTransaction() Point2d p1 = 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 Point2dCollectio

10、n(); pc.Add(p1); pc.Add(p2); pc.Add(p3); pc.Add(p4); pc.Add(p5); for (int i = 0; i 5; i+) pl.AddVertexAt(i, pci, 0.5, 5, 5); BlockTable bt = (BlockTable)trans.GetObject(db.BlockTableId, OpenMode.ForRead); BlockTableRecord btr = (BlockTableRecord)trans.GetObject(btBlockTableRecord.ModelSpace, OpenMod

11、e.ForWrite); btr.AppendEntity(pl); trans.AddNewlyCreatedDBObject(pl, true); trans.Commit(); 5,创建椭圆代码如下:/创建椭圆 CommandMethod(CEllipse) public void Ellipse() Database db = HostApplicationServices.WorkingDatabase; using (Transaction trans = db.TransactionManager.StartTransaction() Ellipse pEllipse = new

12、 Ellipse(new Point3d(150, 150, 0), new Vector3d(0, 0, 50), new Vector3d(50, 50, 0), 0.8, 0, 0); BlockTable bt = (BlockTable)trans.GetObject(db.BlockTableId, OpenMode.ForRead); BlockTableRecord btr = (BlockTableRecord)trans.GetObject(btBlockTableRecord.ModelSpace, OpenMode.ForWrite); btr.AppendEntity

13、(pEllipse); trans.AddNewlyCreatedDBObject(pEllipse, true); trans.Commit(); 6,创建样条曲线代码如下:/创建样条曲线 CommandMethod(CreatSpline) public void CreateSpline() Database db = HostApplicationServices.WorkingDatabase; using (Transaction trans = db.TransactionManager.StartTransaction() Point3d p1 = new Point3d(50

14、, 30, 0); Point3d p2 = new Point3d(100, 60, 0); Point3d p3 = new Point3d(150, 520, 0); Point3d p4 = new Point3d(200, 240, 0); Point3d 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(

15、pc, 2, 5); BlockTable bt = (BlockTable)trans.GetObject(db.BlockTableId, OpenMode.ForRead); BlockTableRecord btr = (BlockTableRecord)trans.GetObject(btBlockTableRecord.ModelSpace, OpenMode.ForWrite); btr.AppendEntity(spline); trans.AddNewlyCreatedDBObject(spline, true); trans.Commit(); 7,创建面域代码如下:/创建

16、面域 CommandMethod(Polygon) 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 curveS

17、egments = new DBObjectCollection(); DBObjectCollection regions = new DBObjectCollection(); curveSegments.Add(entity); regions = Region.CreateFromCurves(curveSegments); Region newRegion = (Region)regions0; newRegion.SetDatabaseDefaults(); BlockTable bt = (BlockTable)Trans.GetObject(db.BlockTableId, O

18、penMode.ForRead); BlockTableRecord btr = (BlockTableRecord)Trans.GetObject(btBlockTableRecord.ModelSpace, OpenMode.ForWrite); btr.AppendEntity(newRegion); Trans.AddNewlyCreatedDBObject(newRegion, true); Trans.Commit(); 8,创建文字代码如下:/创建文字 CommandMethod(CreatText) public void AddText() Database db = Hos

19、tApplicationServices.WorkingDatabase; using (Transaction trans = db.TransactionManager.StartTransaction() DBText text = new DBText(); text.Position = new Point3d(5, 5, 0); text.ColorIndex = 3; text.TextString = AutoCAD二次开发!; MText text1 = new MText(); text1.Contents = ; text1.Color = Autodesk.AutoCA

20、D.Colors.Color.FromColorIndex(Autodesk.AutoCAD.Colors.ColorMethod.ByAci, 2); BlockTable bt = (BlockTable)trans.GetObject(db.BlockTableId, OpenMode.ForRead); BlockTableRecord btr = (BlockTableRecord)trans.GetObject(btBlockTableRecord.ModelSpace, OpenMode.ForWrite); btr.AppendEntity(text); btr.AppendE

21、ntity(text1); trans.AddNewlyCreatedDBObject(text, true); trans.AddNewlyCreatedDBObject(text1, true); trans.Commit(); 9,创建填充代码如下/创建填充 CommandMethod(CreatHatch) public void AddHatch() Database db = HostApplicationServices.WorkingDatabase; using (Transaction trans = db.TransactionManager.StartTransacti

22、on() Circle circle = new Circle(); circle.Center = new Point3d(150, 150, 0); circle.Radius = 200; BlockTable bt = (BlockTable)trans.GetObject(db.BlockTableId, OpenMode.ForRead); BlockTableRecord btr = (BlockTableRecord)trans.GetObject(btBlockTableRecord.ModelSpace, OpenMode.ForWrite); btr.AppendEnti

23、ty(circle); trans.AddNewlyCreatedDBObject(circle, true); ObjectIdCollection collection = new ObjectIdCollection(); collection.Add(circle.ObjectId); Hatch hatch = new Hatch(); hatch.Elevation = 0; hatch.HatchStyle = HatchStyle.Normal; hatch.ColorIndex = 5; hatch.SetHatchPattern(HatchPatternType.PreDe

24、fined, SOLID); hatch.AppendLoop(HatchLoopTypes.Default, collection); hatch.EvaluateHatch(true); btr.AppendEntity(hatch); trans.AddNewlyCreatedDBObject(hatch, true); trans.Commit(); 10,创建三维实体代码如下:CommandMethod(Create3DSolid) public void Create3DSolid() Database db = HostApplicationServices.WorkingDat

25、abase; using (Transaction trans = db.TransactionManager.StartTransaction() Point3d p1 = new Point3d(50, 50, 0); Point3d p2 = new Point3d(110, 100, 0); Point3d p3 = new Point3d(150, 160, 0); Point3d p4 = new Point3d(210, 190, 0); Point3d p5 = new Point3d(270, 230, 0); Point3dCollection pc = new Point

26、3dCollection(); pc.Add(p1); pc.Add(p2); pc.Add(p3); pc.Add(p4); pc.Add(p5); Polyline3d Polyline3d = new Polyline3d(0, pc, true); BlockTable bt = (BlockTable)trans.GetObject(db.BlockTableId, OpenMode.ForRead); BlockTableRecord btr = (BlockTableRecord)trans.GetObject(btBlockTableRecord.ModelSpace, Ope

27、nMode.ForWrite); DBObjectCollection dbobc = new DBObjectCollection(); DBObjectCollection regions = new DBObjectCollection(); dbobc.Add(Polyline3d); regions = Region.CreateFromCurves(dbobc); Region region = (Region)regions0; Solid3d sd = new Solid3d(); sd.Revolve(region, new Point3d(0, 0, 0), Vector3d.XAxis, 360); PModifyEntID = btr.AppendEntity(sd); trans.AddNewlyCreatedDBObject(sd, true); trans.Commit();

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1