你去查查書吧,書上挺詳細(xì)的,在這說不好說,你先在項目里引用。然后 Dim acadapp As AcadApplication Dim acaddoc As AcadDocument On Error Resume Next AcadApp = GetObject(, "AutoCAD.Application") If Err.Number Then Err.Clear() AcadApp = CreateObject("AutoCAD.Application") If Err.Number Then MsgBox("不能運行AutoCAD,請檢查是否安裝了AutoCAD") Exit Sub End If End If AcadApp.Visible = True '界面可視
都昌ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為成都創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!
按照常理說一句哈: 找CAD的API。然后在你的程序里寫語句,調(diào)用這個API。關(guān)鍵是找到可以操作CAD的圖層的API。歐特克提供了這個嗎?
Dim?ppr?As?PromptPointResult?=?ed.GetPoint("請選擇插入點:")
Dim?pt?As?Point3d?=?ppr.Value
utility.WriteToEditor(pt.ToString())
Dim?pidBlock?As?New?PIDBlock()
'自己定義的圖塊類,保存圖塊的路徑和名稱?
pidBlock.Name?=?"sample"
pidBlock.Path?=?blockPath??"b_sample.dwg"
Using?blkDb?As?New?Database(False,?True)
'read?drawing?
blkDb.ReadDwgFile(pidBlock.Path,?System.IO.FileShare.Read,?True,?Nothing)
blkDb.CloseInput(True)
Using?docLock?As?DocumentLock?=?doc.LockDocument()
'多文檔要先這樣,否則報至命錯誤?
Using?t?As?Transaction?=?doc.TransactionManager.StartTransaction()
'insert?it?as?a?new?block?
Dim?idBTR?As?ObjectId?=?doc.Database.Insert(pidBlock.Name,?blkDb,?False)
'create?a?ref?to?the?block?
Dim?bt?As?BlockTable?=?DirectCast(t.GetObject(doc.Database.BlockTableId,?OpenMode.ForRead),?BlockTable)
Dim?btr?As?BlockTableRecord?=?DirectCast(t.GetObject(bt(BlockTableRecord.ModelSpace),?OpenMode.ForWrite),?BlockTableRecord)
Using?bref?As?New?BlockReference(pt,?idBTR)
btr.AppendEntity(bref)
t.AddNewlyCreatedDBObject(bref,?True)
End?Using
t.Commit()
End?Using
End?Using
End?Using
D=AcadApp.ActiveDocument.Utility.GetPoint(,"選擇一個點:")
你的參數(shù)沒有弄對
GetPoint是個方法不是屬性必須要括號()
他的兩個參數(shù)為可選參數(shù)(startpoint,prompt)第一個參數(shù)是起始點,第二個參數(shù)是提示語
需要解析CAD文件的構(gòu)成 然后根據(jù)規(guī)則繪制 說白點CAD文件是人家公司定義的一個文件格式 里面保存的不是圖形 而是圖形的繪制規(guī)則 程序AutoCad打開文件的時候是讀取文件里面描寫的繪制規(guī)則繪制圖案的 你了解了CAD文件的構(gòu)成后就可以自己寫代碼繪制圖形了(具體CAD圖形構(gòu)成沒研究過 你可以用記事本打開一個CAD的圖形交換文件.Dxf 可以看到 這個文件是由圖層說明和很多點坐標(biāo)組成的)
額,慢慢學(xué)吧。不過學(xué)CAD的二次開發(fā),建議還是起點高些好。一般有幾種模式二次開發(fā):
1,autolisp,你學(xué)VB的,這個就免了把。
2,利用cad里面的vba,這個好像比較適合你。
3,跨平臺開發(fā),利用.NET二次開發(fā),比較酷斃的那種,com托管,大型計算方面慢。
4,objectarx,這個語言可以對cad進(jìn)行深層次的開發(fā)。比如添加命令等,而且運行速度快。用VB.NET就可以采用這種模式進(jìn)行開發(fā)。
建議你直接從objectarx入手,專心2個月就OK了。