资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

vb.net编写cad vb开发cad

如何用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

CAD利用VB编程来解决问题

额,慢慢学吧。不过学CAD的二次开发,建议还是起点高些好。一般有几种模式二次开发:

1,autolisp,你学VB的,这个就免了把。

2,利用cad里面的vba,这个好像比较适合你。

3,跨平台开发,利用.NET二次开发,比较酷毙的那种,com托管,大型计算方面慢。

4,objectarx,这个语言可以对cad进行深层次的开发。比如添加命令等,而且运行速度快。用VB.NET就可以采用这种模式进行开发。

建议你直接从objectarx入手,专心2个月就OK了。

如何使用vb.net调用cad进行绘图

你去查查书吧,书上挺详细的,在这说不好说,你先在项目里引用。然后 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 '界面可视


本文标题:vb.net编写cad vb开发cad
文章分享:http://www.cdkjz.cn/article/ddcisce.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220