




版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 屋面水泥瓦施工方案
- 耐腐蝕泵項目風(fēng)險識別與評估綜合報告
- 青少年心理健康與行為發(fā)展教育實踐
- 浙江華遠(yuǎn):盈利預(yù)測報告及審核報告
- 金浦鈦業(yè):上海東邑酒店管理有限公司2024年1-9月財務(wù)報表審計報告
- 山東石雕六角亭施工方案
- 埋地涂塑鋼管安裝施工方案
- 項目監(jiān)理實施方案
- 黃土邊坡錨桿施工方案
- 電氣設(shè)備二次搬運施工方案
- 2024年上海市楊浦區(qū)高三二模英語試卷及答案
- MOOC 高等數(shù)學(xué)(上)-西北工業(yè)大學(xué) 中國大學(xué)慕課答案
- 部編版小學(xué)語文四年級下冊第二單元教材分析
- 等差數(shù)列公開課課件
- 小學(xué)生學(xué)習(xí)習(xí)慣養(yǎng)成知識講座(定)
- 2024年OTC焊接機器人基本操作培訓(xùn)
- 合肥通用職業(yè)技術(shù)學(xué)院單招《職業(yè)技能測試》參考試題庫(含答案)
- 小學(xué)五年級《美術(shù)》上冊知識點匯總
- 生物工程設(shè)備課件
- 提高團隊協(xié)作與溝通技巧
- 2022版高中生物必修二第一章測試題及答案解析
評論
0/150
提交評論