明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3466|回复: 4

不开图获取该图档的外部参照(dwg,jpg,pdf),回传完整路径表

  [复制链接]
发表于 2011-11-23 21:40:26 | 显示全部楼层 |阅读模式
;不开图获取该图档的外部参照(dwg,jpg,pdf),并回传完整路径表

;以下是自已写的程序,不知道各位是否有更简单的方法,可否提供学习之用呢?

  ;例:(RMQQ_blkname_lst "C:\\AC-空调-冰水-3F.dwg")
  (defun RMQQ_blkname_lst(dwgname / cadVer name dbx blklst blken blkmelst)
    (setq CadVer (substr (getvar "acadver") 1 2))(setq blkmelst nil)
    (setq name (strcat "ObjectDBX.AxDbDocument." CadVer))  
    (setq dbx (vlax-create-object name));;创建dbx对象
    (setq acadobj (vlax-get-acad-object))
    (setq filesobj (vla-get-files (vla-get-preferences (vlax-get-acad-object))))
    (setq SupportPath (vla-get-SupportPath filesobj))
    (setq SupportPath2(strcat SupportPath ";" (vl-filename-directory dwgname)))
    (vla-put-SupportPath filesobj SupportPath2)
    (vla-open dbx dwgname);dwgname路径档名
    (setq blklst (vla-get-blocks dbx));取得图块的合集
    (vlax-for blken blklst
      (if (= :vlax-true (vla-get-isxref blken))
(progn
  (if(=(setq blkxttme (findfile(vl-filename-base (vla-get-Path blken))))nil)
    (setq blkxttme (findfile (vla-get-Path blken)))
    )
  (setq blkmelst(append blkmelst (list blkxttme)));路径回传成表
  )
)
      )
    (setq modelss (vla-get-modelspace dbx));模型空间所有物件合集
    (setq Paperss (vla-get-PaperSpace dbx));图纸空间所有物件合集
    (setq mamet (list modelss Paperss))
    (while mamet
      (setq elss (car mamet)mamet(cdr mamet))
      (vlax-for blken elss
(cond((= (vla-get-objectname blken) "AcDbRasterImage");jpg
      (progn
(if(=(setq blkxttme (findfile(vl-filename-base (vla-get-ImageFile blken))))nil)
  (setq blkxttme (findfile (vla-get-ImageFile blken)))
  )
(setq blkmelst(append blkmelst (list blkxttme)));取得单一图块成表
))
     ((= (vla-get-objectname blken) "AcDbPdfReference");pdf
      (progn
(if(=(setq blkxttme (findfile(vl-filename-base (vla-get-File blken))))nil)
  (setq blkxttme (findfile (vla-get-File blken)))
  )
(setq blkmelst(append blkmelst (list blkxttme)));取得单一图块成表
))
     )
)
      )
    (vlax-release-object dbx)
    (vla-put-SupportPath filesobj SupportPath)
    blkmelst
    )
发表于 2012-6-29 09:52:08 | 显示全部楼层
好东西,不过速度如何?估计有点慢
发表于 2020-5-6 21:16:46 | 显示全部楼层
拜读,真的是好东西
发表于 2023-12-1 22:10:24 | 显示全部楼层

;不开图获取该图档的外部参照(dwg,jpg,pdf),并回传完整路径表
  请教一下怎么用不了的,
发表于 2023-12-1 22:12:06 | 显示全部楼层
cghdy 发表于 2020-5-6 21:16
拜读,真的是好东西

这位前辈,您在什么版本试用成功
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-17 12:59 , Processed in 0.151209 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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