




已閱讀5頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
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.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() /聲明圓對象 Circle c = new Circle(); c.Center = new Point3d(0, 0, 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)trans.GetObject(c_blockBlockTableRecord.ModelSpace, OpenMode.ForWrite);/寫入,1 c_block_record.AppendEntity(c);/塊表記錄追加實體,把圖形對象的記錄加入到塊表記錄 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 = 歡迎來到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)建三維實體代碼:/創(chuàng)建三維實體 CommandMethod(Create3DSolid) public void Create3DSolid() Database db = HostApplicationServices.WorkingDatabase; using (Transaction trans = db.TransactionManager.StartTransaction() Point3d p1 = new Point3d(50, 50
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 新興技術(shù)軟件設(shè)計師考試試題及答案
- 機(jī)電系統(tǒng)優(yōu)化分析方法試題及答案
- 軟考網(wǎng)絡(luò)工程師能力提升試題及答案
- 軟件設(shè)計師考試全方位考慮及試題答案
- 政策創(chuàng)新的理論框架與實踐試題及答案
- 公共政策影響評估的挑戰(zhàn)與解決方案試題及答案
- 雙碳目標(biāo)下的公共政策試題及答案
- 未來公共政策面臨的挑戰(zhàn)與機(jī)遇分析試題及答案
- 軟件設(shè)計師考試技巧與策略試題及答案
- 機(jī)電工程行業(yè)技術(shù)提升試題及答案
- YY/T 1293.4-2016接觸性創(chuàng)面敷料第4部分:水膠體敷料
- 2023年山西文旅集團(tuán)云游山西股份有限公司招聘筆試模擬試題及答案解析
- 關(guān)于生活老師現(xiàn)實表現(xiàn)總結(jié)簡述(精選6篇)
- 公務(wù)員轉(zhuǎn)任情況登記表
- 企業(yè)組織架構(gòu)表
- 氣象檢測器實測項目質(zhì)量檢驗報告單
- 揚(yáng)塵污染控制工作臺帳(揚(yáng)塵防治全套資料)
- 各科室臨床路徑(衛(wèi)生部)2022
- 學(xué)習(xí)宣傳貫徹反有組織犯罪法工作經(jīng)驗材料
- 大學(xué)生德育論文范文3000字
- 美術(shù)作品使用授權(quán)書.docx
評論
0/150
提交評論