CAD二次实验的报告3.docx

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CAD二次实验的报告3

CAD开发实验(四)实验三 AutoCAD图形块的创建与应用一、主要内容1、创建块定义及插入块参照2、创建带有属性的块定义及插入带有属性的块参照3、在对话框中查看块定义的图标4、在当前文件中插入外部文件中的块5、在当前文件中插入其他DWG文件二、学时安排:2学时三、预习内容理解块的含义,回顾块和带属性块的定义四、AutoCAD图形块的创建与应用4.1创建块定义及插入块参照4.1.1 创建块定义代码://创建块publicDocumentpDoc = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument; [CommandMethod(CreateBlock)]publicvoidCreateBlock() { DatabaseacCurDb = pDoc.Database;using (TransactionacTrans = acCurDb.TransactionManager.StartTransaction()) {BlockTableacBlkTbl = acTrans.GetObject(acCurDb.BlockTableId,OpenMode.ForWrite) asBlockTable;// 创建新的块表记录BlockTableRecordacBlkTblRec = newBlockTableRecord();stringblkname = 三角点;acBlkTblRec.Name = blkname;acBlkTblRec.Origin = newPoint3d(0, 0, 0);Point3dpCenter = newPoint3d(0, 0, 0);//创建中心点DBPointpDBPt = newDBPoint(pCenter);//创建圆CirclepCir = newCircle(pCenter, newVector3d(0, 0, 1), 0.25);//创建三角形PolylinepTri = newPolyline(4);pTri.AddVertexAt(0, newPoint2d(0, 1), 0, 0, 0);pTri.AddVertexAt(1, newPoint2d(0.866, -0.5), 0, 0, 0);pTri.AddVertexAt(2, newPoint2d(-0.866, -0.5), 0, 0, 0);pTri.AddVertexAt(3, newPoint2d(0, 1), 0, 0, 0);//给定块的原点acBlkTblRec.Origin = newPoint3d(0, 0, 0);//将图形实体添加到块表记录acBlkTblRec.AppendEntity(pDBPt);acBlkTblRec.AppendEntity(pCir);acBlkTblRec.AppendEntity(pTri);//将块记录添加到块表acBlkTbl.Add(acBlkTblRec);acTrans.AddNewlyCreatedDBObject(acBlkTblRec, true);// 提交修改并销毁事务acTrans.Commit(); } }4.1.2插入卡块参照→代码://插入块 [CommandMethod(InsertBlock)]publicvoidInsertBlock() {DatabaseacCurDb = pDoc.Database;// 启动一个事务 Start a transactionusing (TransactionacTrans = acCurDb.TransactionManager.StartTransaction()) {BlockTableacBlkTbl = acTrans.GetObject(acCurDb.BlockTableId, OpenMode.ForWrite) asBlockTable;// 以写方式打开模型空间块表记录BlockTableRecordacBlkTblRec = acTrans.GetObject(acBlkTbl[BlockTableRecord.ModelSpace], OpenMode.ForWrite) asBlockTableRecord;//获取三角点块,并创建块引用BlockTableRecordpBlockTableRecord = acTrans.GetObject(acBlkTbl[三角点], OpenMode.ForRead) a

您可能关注的文档

文档评论(0)

wuyoujun92 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档