明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1303|回复: 4

在.net中如何实现objDBX,从而在不打开dwg图纸的情况下获取图纸的信息

[复制链接]
发表于 2016-5-6 20:55 | 显示全部楼层 |阅读模式
在.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"
发表于 2016-5-6 22:11 来自手机 | 显示全部楼层
readdwg   
 楼主| 发表于 2016-5-9 20:15 | 显示全部楼层
能不能说详细点啊
发表于 2016-5-10 09:13 | 显示全部楼层
Database db = new Database(false, false)
db.ReadDwgFile(filename, System.IO.FileShare.Read, true, null);
 楼主| 发表于 2016-5-11 21:32 | 显示全部楼层
能不能用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下怎么处理吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-4-18 09:56 , Processed in 0.334896 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表