CAD二次實(shí)驗(yàn)報(bào)告.docx_第1頁(yè)
CAD二次實(shí)驗(yàn)報(bào)告.docx_第2頁(yè)
CAD二次實(shí)驗(yàn)報(bào)告.docx_第3頁(yè)
CAD二次實(shí)驗(yàn)報(bào)告.docx_第4頁(yè)
CAD二次實(shí)驗(yàn)報(bào)告.docx_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

CAD開(kāi)發(fā)實(shí)驗(yàn)(二)實(shí)驗(yàn)二 AutoCAD基本圖形對(duì)象創(chuàng)建與編輯一、主要內(nèi)容1、 創(chuàng)建直線2、 創(chuàng)建圓3、 創(chuàng)建圓弧4、 創(chuàng)建多段線5、 創(chuàng)建橢圓6、 樣條曲線7、 創(chuàng)建面域8、 創(chuàng)建文字9、 創(chuàng)建填充10、 創(chuàng)建尺寸標(biāo)注11、 創(chuàng)建三維實(shí)體二、學(xué)時(shí)安排三、預(yù)習(xí)內(nèi)容回顧AutoCAD圖形對(duì)象創(chuàng)建的一般過(guò)程。四、基本圖形對(duì)象創(chuàng)建與編輯4.1 基本圖形對(duì)象創(chuàng)建4.1.1創(chuàng)建直線代碼:CommandMethod(CreatLine) public void CreatLine() Database db = HostApplicationServices.WorkingDatabase; using (Transaction trans=db.TransactionManager .StartTransaction() ) /creatline Point3d 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 )trans.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.TransactionManager.StartTransaction() Entity pEnt = (Entity)trans.GetObject(PModifyEntID, OpenMode.ForWrite); pEnt.ColorIndex = 1; pEnt.Close(); trans.Commit(); 4.1.2創(chuàng)建圓代碼:CommandMethod(Cir) public void Circle() /聲明圓對(duì)象 Circle c = new Circle(); c.Center = new Point3d(0, 0, 0); c.Radius = 100; Database db = HostApplicationServices.WorkingDatabase; /啟動(dòng)事務(wù) using (Transaction trans = db.TransactionManager.StartTransaction() /創(chuàng)建塊表 BlockTable c_block = (BlockTable)trans.GetObject(db.BlockTableId, OpenMode.ForRead);/讀取,0 BlockTableRecord c_block_record = (BlockTableRecord)trans.GetObject(c_blockBlockTableRecord.ModelSpace, OpenMode.ForWrite);/寫(xiě)入,1 c_block_record.AppendEntity(c);/塊表記錄追加實(shí)體,把圖形對(duì)象的記錄加入到塊表記錄 trans.AddNewlyCreatedDBObject(c, true);/將圓添加到事務(wù)處理中 trans.Commit();/提交事務(wù) 4.1.3創(chuàng)建圓弧代碼:/創(chuàng)建圓弧 CommandMethod(CreatAre) public void CreatArc() Database db = HostApplicationServices.WorkingDatabase; using (Transaction trans = 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(pArc); trans.AddNewlyCreatedDBObject(pArc, true); trans.Commit(); 4.1.4創(chuàng)建多段線代碼:/創(chuàng)建多段線 CommandMethod(CPloyline) public void createPloyline1() Polyline pl = new Polyline(5); Database db = HostApplicationServices.WorkingDatabase; 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 Point2dCollection(); 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, OpenMode.ForWrite); btr.AppendEntity(pl); trans.AddNewlyCreatedDBObject(pl, true); trans.Commit(); 4.1.5創(chuàng)建橢圓代碼:/創(chuàng)建橢圓 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 = (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樣條曲線代碼:/創(chuàng)建樣條曲線 CommandMethod(CSpline) 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); 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(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(); 4.1.7創(chuàng)建面域代碼:/創(chuàng)建面域 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.CreateFromCurves(curveSegments); Region newRegion = (Region)regions0; newRegion.SetDatabaseDefaults(); BlockTable bt = (BlockTable)Trans.GetObject(db.BlockTableId, OpenMode.ForRead); BlockTableRecord btr = (BlockTableRecord)Trans.GetObject(btBlockTableRecord.ModelSpace, OpenMode.ForWrite); btr.AppendEntity(newRegion); Trans.AddNewlyCreatedDBObject(newRegion, true); Trans.Commit(); 4.1.8創(chuàng)建文字代碼:/創(chuàng)建文字 CommandMethod(AddText) public void AddText() Database db = HostApplicationServices.WorkingDatabase; using (Transaction trans = db.TransactionManager.StartTransaction() DBText text = new DBText(); text.Position = new Point3d(5, 5, 0); text.ColorIndex = 3; text.TextString = 歡迎來(lái)到CAD!; MText text1 = new MText(); text1.Color =Autodesk.AutoCAD.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.AppendEntity(text1); trans.AddNewlyCreatedDBObject(text, true); trans.AddNewlyCreatedDBObject(text1, true); trans.Commit(); 4.1.9創(chuàng)建填充代碼: /創(chuàng)建填充 CommandMethod(AddHatch) public void AddHatch() Database db = HostApplicationServices.WorkingDatabase; using (Transaction trans = db.TransactionManager.StartTransaction() 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.AppendEntity(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.PreDefined, SOLID); hatch.AppendLoop(HatchLoopTypes.Default, collection); hatch.EvaluateHatch(true); btr.AppendEntity(hatch); trans.AddNewlyCreatedDBObject(hatch, true); trans.Commit(); 4.1.10創(chuàng)建標(biāo)注代碼:/ 創(chuàng)建半徑標(biāo)注 CommandMethod(CRadialDimension) public static void CreateRadialDimension() Document acDoc = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument; Database acCurDb = acDoc.Database; using (Transaction acTrans = acCurDb.TransactionManager.StartTransaction() BlockTable acBlkTbl;acBlkTbl = acTrans.GetObject(acCurDb.BlockTableId,OpenMode.ForRead) as BlockTable; BlockTableRecord acBlkTblRec; acBlkTblRec = acTrans.GetObject(acBlkTblBlockTableRecord.ModelSpace, OpenMode.ForWrite) as BlockTableRecord; RadialDimension acRadDim = new RadialDimension(); acRadDim.SetDatabaseDefaults(); acRadDim.Center = new Point3d(0, 0, 0); acRadDim.ChordPoint = new Point3d(25, 25, 0); acRadDim.LeaderLength = 5; acRadDim.DimensionStyle = acCurDb.Dimstyle; acBlkTblRec.AppendEntity(acRadDim); acTrans.AddNewlyCreatedDBObject(acRadDim, true); acTrans.Commit(); 4.1.11創(chuàng)建三維實(shí)體代碼:/創(chuàng)建三維實(shí)體 CommandMethod(Create3DSolid) public void Create3DSolid() Database db = HostApplicationServices.WorkingDatabase; using (Transaction trans = db.TransactionManager.StartTransaction() Point3d p1 = new Point3d(50, 50

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論