如何用vb.net编程在cad图形中插入dwg图块?

如题所述

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

追问

大姐,我用的是vb.net
啊!

温馨提示:答案为网友推荐,仅供参考
相似回答