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

 我来答
HopeForEnertel
2013-10-12 · 超过51用户采纳过TA的回答
知道答主
回答量:156
采纳率:0%
帮助的人:122万
展开全部
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
啊!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式