在.net中如何实现objDBX,从而在不打开dwg图纸的情况下获取图纸的信息
在.net中如何实现objDBX,从而在不打开dwg图纸的情况下获取图纸的信息,原来在vba代码中,很容易实现,不过在.net中如何实现,请教下各位大神下面是我VBA的代码(用之前程序要引用ObjectDBX)
Dim objDBX
Set objDBX = GetInterfaceObject("ObjectDBX.AxDbDocument.16")
objDBX .Open "C:\MyBlock.dwg"
在vb.net中,我写了下,但是不行
Dim objDBX As Autodesk.AutoCAD.Interop.Common.AxDbDocument
objDBX = GetObject("ObjectDBX.AxDbDocument.16") ‘(这一步运行就出错了)
objDBX .Open "C:\MyBlock.dwg"
readdwg 能不能说详细点啊 Database db = new Database(false, false)
db.ReadDwgFile(filename, System.IO.FileShare.Read, true, null); 能不能用com的方式实现,不用arx实现,以前我在vb或者vba中可以很轻松的用1楼所示代码解决这个问题,不过换了vb.net后就实现不料了。有没有人可以帮忙实现下。
下面是以前完整的代码,可以在不打开cad的情况下,读取cad中的线。大家可以做一个有几根线的MyLINE.dwg文件,放在D盘下,然后打开一个空白的cad,随意写一个vba的sub,将下面的代码复制进去,执行单步运行,即可以看到效果。
Dim objDBX
Set objDBX = GetInterfaceObject("ObjectDBX.AxDbDocument.16")
objDBX .Open "D:\MyLINE.dwg"
Dim ent As AcadEntity
For Each ent In objDBX.ModelSpace
If TypeOf ent Is IAcadLWPolyline Then
'要做的操作代码
endif
next
哪位帮我解决下vb.net下怎么处理吧
页:
[1]