CAD二次實驗報告_第1頁
CAD二次實驗報告_第2頁
CAD二次實驗報告_第3頁
CAD二次實驗報告_第4頁
CAD二次實驗報告_第5頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、CAD開發(fā)實驗(二)實驗二 AutoCAD基本圖形對象創(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)建三維實體二、學(xué)時安排三、預(yù)習(xí)內(nèi)容回顧AutoCAD圖形對象創(chuàng)建的一般過程。四、基本圖形對象創(chuàng)建與編輯4.1 基本圖形對象創(chuàng)建4.1.1創(chuàng)建直線代碼:CommandMethod("CreatLine") public void CreatLine() Database db = HostApplicationServices.WorkingDat

2、abase; 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=(Bloc

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

4、(Transaction trans = db.TransactionManager.StartTransaction() Entity pEnt = (Entity)trans.GetObject(PModifyEntID, OpenMode.ForWrite); pEnt.ColorIndex = 1; pEnt.Close(); mit(); 4.1.2創(chuàng)建圓代碼:CommandMethod("Cir") public void Circle() /聲明圓對象 Circle c = new Circle(); c.Center = new Point3d(0, 0,

5、0); c.Radius = 100; Database db = HostApplicationServices.WorkingDatabase; /啟動事務(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)tra

6、ns.GetObject(c_blockBlockTableRecord.ModelSpace, OpenMode.ForWrite);/寫入,1 c_block_record.AppendEntity(c);/塊表記錄追加實體,把圖形對象的記錄加入到塊表記錄 trans.AddNewlyCreatedDBObject(c, true);/將圓添加到事務(wù)處理中 mit();/提交事務(wù) 4.1.3創(chuàng)建圓弧代碼:/創(chuàng)建圓弧 CommandMethod("CreatAre") public void CreatArc() Database db = HostApplication

7、Services.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(btBlockTable

8、Record.ModelSpace, OpenMode.ForWrite); btr.AppendEntity(pArc); trans.AddNewlyCreatedDBObject(pArc, true); mit(); 4.1.4創(chuàng)建多段線代碼:/創(chuàng)建多段線 CommandMethod("CPloyline") public void createPloyline1() Polyline pl = new Polyline(5); Database db = HostApplicationServices.WorkingDatabase; using (Transac

9、tion 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);

10、 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.Append

11、Entity(pl); trans.AddNewlyCreatedDBObject(pl, true); mit(); 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 Point3

12、d(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.A

13、ddNewlyCreatedDBObject(pEllipse, true); mit(); 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

14、= 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

15、 bt = (BlockTable)trans.GetObject(db.BlockTableId, OpenMode.ForRead); BlockTableRecord btr = (BlockTableRecord)trans.GetObject(btBlockTableRecord.ModelSpace, OpenMode.ForWrite); btr.AppendEntity(spline); trans.AddNewlyCreatedDBObject(spline, true); mit(); 4.1.7創(chuàng)建面域代碼:/創(chuàng)建面域 CommandMethod("CPolyg

16、on") 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 DB

17、ObjectCollection(); 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)

18、; BlockTableRecord btr = (BlockTableRecord)Trans.GetObject(btBlockTableRecord.ModelSpace, OpenMode.ForWrite); btr.AppendEntity(newRegion); Trans.AddNewlyCreatedDBObject(newRegion, true); mit(); 4.1.8創(chuàng)建文字代碼:/創(chuàng)建文字 CommandMethod("AddText") public void AddText() Database db = HostApplicationSe

19、rvices.WorkingDatabase; using (Transaction trans = db.TransactionManager.StartTransaction() DBText text = new DBText(); text.Position = new Point3d(5, 5, 0); text.ColorIndex = 3; text.TextString = "歡迎來到CAD!" MText text1 = new MText(); text1.Color =Autodesk.AutoCAD.Colors.Color.FromColorInd

20、ex(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.AddNewl

21、yCreatedDBObject(text, true); trans.AddNewlyCreatedDBObject(text1, true); mit(); 4.1.9創(chuàng)建填充代碼: /創(chuàng)建填充 CommandMethod("AddHatch") public void AddHatch() Database db = HostApplicationServices.WorkingDatabase; using (Transaction trans = db.TransactionManager.StartTransaction() Circle circle = ne

22、w 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.AddNe

23、wlyCreatedDBObject(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"

24、;); hatch.AppendLoop(HatchLoopTypes.Default, collection); hatch.EvaluateHatch(true); btr.AppendEntity(hatch); trans.AddNewlyCreatedDBObject(hatch, true); mit(); 4.1.10創(chuàng)建標(biāo)注代碼:/ 創(chuàng)建半徑標(biāo)注 CommandMethod("CRadialDimension") public static void CreateRadialDimension() Document acDoc = Autodesk.Auto

25、CAD.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

26、 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.

27、LeaderLength = 5; acRadDim.DimensionStyle = acCurDb.Dimstyle; acBlkTblRec.AppendEntity(acRadDim); acTrans.AddNewlyCreatedDBObject(acRadDim, true); mit(); 4.1.11創(chuàng)建三維實體代碼:/創(chuàng)建三維實體 CommandMethod("Create3DSolid") public void Create3DSolid() Database db = HostApplicationServices.WorkingDatabase; using (Transaction trans = db.TransactionManager.StartTransaction() Point3d p1 = new Point3d(50, 5

溫馨提示

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

評論

0/150

提交評論