明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 10699|回复: 11

利用objectDBX如何获取外部块数据

  [复制链接]
发表于 2004-11-27 10:39:00 | 显示全部楼层 |阅读模式
看了版主的提供的许多好程序,偶有一个问题:利用objectDBX如何获取指定图形文件中的块数据,比如明细表块?最好能给一个例程,最好是用vlisp与objectdbx接口,如不行用vba接口也行啊
发表于 2018-4-22 21:58:12 | 显示全部楼层

学习一下 谢谢分享
发表于 2004-11-29 12:54:00 | 显示全部楼层
你看懂这个贴了吗? 利用ObjectDbx技术在当前图形中插入其它未打开的图形中的图块
 楼主| 发表于 2004-11-29 21:20:00 | 显示全部楼层
斑竹给的程序是插入其他未打开图形的中的块定义,可是我需要的是那些带有属性的块的属性值?还请斑竹明示!
发表于 2004-11-30 17:17:00 | 显示全部楼层
说详细点!
 楼主| 发表于 2004-12-1 23:42:00 | 显示全部楼层
比如说,在ha0g.dwg中有一个块名为mxl,它有“序号”、“数量”、“材料”属性,而且在ha0g.dwg已经插入了一些mxl块,当然块定义一样,可是每个插入的块的数据是不一样的,如以下两个插入块数据:


1         2         Q235-A


2         1         25


我想在不打开文档的情形下,获得这些插入块的数据。
发表于 2004-12-2 16:31:00 | 显示全部楼层
;;Source is a valid path & dwg name;;提取不打开图档中图块属性值(.vlx);;(DBX_ATT <Source> <blockname>);;(DBX_ATT   (getfiled "选取图档" (getvar "dwgprefix") "dwg" 8) "标题")
  1. ;;Objectdbx已径提供了不少例子,但却很少看到有网友使用;;不知问题到底在那里??     8-(;;是例子不足吗?;;好吧!再提供一个DBX_架构  ;;Source is a valid path & dwg name
  2. ;;(DBX   (getfiled "选取图档" (getvar "dwgprefix") "dwg" 8))
  3. ;;By 赖云龙(LUCAS)
  4. (defun DBX (SOURCE / APP ODOC DOC ODBX DOCTEST FILENAME)   (vl-load-com)   (setq  APP (vlax-get-acad-object)
  5.   DOC (vla-get-activedocument APP)
  6.    )   (vlax-for ODOC (vla-get-documents APP)
  7.        (if  (= (strcase (vla-get-fullname ODOC)) (strcase SOURCE))
  8.            (setq DOCTEST t)
  9.        )
  10.    )   (if (and (not DOCTEST) (setq FILENAME (findfile SOURCE)))
  11.        (progn
  12.            (if (> (atoi (getvar "AcadVer")) 15)
  13.   (setq ODBX (vla-getinterfaceobject
  14.              APP
  15.              "ObjectDBX.AxDbDocument.16"
  16.          )
  17.   )
  18.   (progn
  19.      (if (not (vl-registry-read
  20.              "HKEY_CLASSES_ROOT\\ObjectDBX.AxDbDocument\\CLSID"
  21.          )
  22.              )
  23.          (startapp "regsvr32.exe"
  24.                (strcat "/s "" (findfile "axdb15.dll") """)
  25.          )
  26.      )
  27.      (setq  ODBX (vla-getinterfaceobject
  28.                  APP
  29.                  "ObjectDBX.AxDbDocument"
  30.              )
  31.      )
  32.   )
  33.            )
  34.            (vla-open ODBX FILENAME)
  35.   ;;;do something             (mapcar 'vlax-release-object (list APP DOC ODBX))
  36.        )
  37.        (progn
  38.            (if DOCTEST
  39.   (alert
  40.      "You tried to use a file in use by Autocad, please close it and try again...."
  41.   )
  42.   (alert "Source file not found, please try again....")
  43.            )
  44.        )
  45.    )
  46.    (princ)
  47. )
  48.   

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2005-9-16 09:55:00 | 显示全部楼层

版主,你的VLX文件怎么用啊。。。我用VBA开发的。。。你上面给的C看不懂啊。。。。还有就是OBJDBX支持块炸开么??

发表于 2008-8-27 09:14:00 | 显示全部楼层

请教龙龙仔版主,你的这个文件能不能用VB实现啊?谢谢!或者怎么使用?最好用VB实现,再次感谢!

发表于 2008-10-7 23:42:00 | 显示全部楼层

龙版主啊,我碰到一个问题,就是我想搞一个purgeall的小程序,选择一批图形,在不打开图形的前提下对其进行批量图形清理(purgeall),可是ObjectDBX里面好像没有purgeall方法,您有什么好办法能解决吗?我要求不打开图形时对其进行处理。还有就是ObjectDBX只有saveas没有save方法,那么我在ObjectDBX里修改了图形后,又怎么保存原图呢,好麻烦啊  麻烦您不吝赐教,多谢了!要是vb或别的方法能实现也行啊

发表于 2009-2-9 11:02:00 | 显示全部楼层

我也关注用VBA的实现,先谢龙版主。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-12-23 10:45 , Processed in 0.209428 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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