Dim?ppr?As?PromptPointResult?=?ed.GetPoint("請(qǐng)選擇插入點(diǎn):")

成都創(chuàng)新互聯(lián)公司是一家專(zhuān)業(yè)提供海港企業(yè)網(wǎng)站建設(shè),專(zhuān)注與成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、H5高端網(wǎng)站建設(shè)、小程序制作等業(yè)務(wù)。10年已為海港眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專(zhuān)業(yè)的建站公司優(yōu)惠進(jìn)行中。
Dim?pt?As?Point3d?=?ppr.Value
utility.WriteToEditor(pt.ToString())
Dim?pidBlock?As?New?PIDBlock()
'自己定義的圖塊類(lèi),保存圖塊的路徑和名稱(chēng)?
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()
'多文檔要先這樣,否則報(bào)至命錯(cuò)誤?
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
Private Function isopen() As AutoCAD.AcadApplication
Try
dim CADapp_temp AutoCAD.AcadApplication = GetObject(, "AutoCAD.Application")
return CADapp_temp
Catch ex As Exception
Return Nothing
End Try
End Function
'調(diào)用上面的函數(shù),如果為nothing表示沒(méi)有打開(kāi),否則打開(kāi)并返回對(duì)象
你去查查書(shū)吧,書(shū)上挺詳細(xì)的,在這說(shuō)不好說(shuō),你先在項(xiàng)目里引用。然后 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("不能運(yùn)行AutoCAD,請(qǐng)檢查是否安裝了AutoCAD") Exit Sub End If End If AcadApp.Visible = True '界面可視
需要解析CAD文件的構(gòu)成 然后根據(jù)規(guī)則繪制 說(shuō)白點(diǎn)CAD文件是人家公司定義的一個(gè)文件格式 里面保存的不是圖形 而是圖形的繪制規(guī)則 程序AutoCad打開(kāi)文件的時(shí)候是讀取文件里面描寫(xiě)的繪制規(guī)則繪制圖案的 你了解了CAD文件的構(gòu)成后就可以自己寫(xiě)代碼繪制圖形了(具體CAD圖形構(gòu)成沒(méi)研究過(guò) 你可以用記事本打開(kāi)一個(gè)CAD的圖形交換文件.Dxf 可以看到 這個(gè)文件是由圖層說(shuō)明和很多點(diǎn)坐標(biāo)組成的)
額,慢慢學(xué)吧。不過(guò)學(xué)CAD的二次開(kāi)發(fā),建議還是起點(diǎn)高些好。一般有幾種模式二次開(kāi)發(fā):
1,autolisp,你學(xué)VB的,這個(gè)就免了把。
2,利用cad里面的vba,這個(gè)好像比較適合你。
3,跨平臺(tái)開(kāi)發(fā),利用.NET二次開(kāi)發(fā),比較酷斃的那種,com托管,大型計(jì)算方面慢。
4,objectarx,這個(gè)語(yǔ)言可以對(duì)cad進(jìn)行深層次的開(kāi)發(fā)。比如添加命令等,而且運(yùn)行速度快。用VB.NET就可以采用這種模式進(jìn)行開(kāi)發(fā)。
建議你直接從objectarx入手,專(zhuān)心2個(gè)月就OK了。
分享文章:vb.net編輯cad,vb·net
分享路徑:http://www.jbt999.com/article36/hdcopg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開(kāi)發(fā)、服務(wù)器托管、網(wǎng)站設(shè)計(jì)、用戶體驗(yàn)、Google、自適應(yīng)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:[email protected]。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容