找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 638|回复: 0

[每日一码] 查找一个指定目录下所有DWG文件中使用过的SHX文件名

[复制链接]

已领礼包: 40个

财富等级: 招财进宝

发表于 2017-7-19 14:58:41 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
  1. (defun DBX-SHX (strDirectory / lstFiles objDBXDocument)
  2.   (if (setq lstFiles (vl-directory-files strDirectory "*.dwg"))
  3.     (foreach strFile lstFiles
  4.       (dbx-shx2 (strcat strDirectory "/" strFile))
  5.     )
  6.   )
  7. )

  8. (defun DBX-SHX2        (strDrawingName / objTextStyle ver1)
  9.   (print strDrawingName)
  10.   (if (not objDBXDocument)
  11.     (setq objDBXDocument
  12.            (vla-GetInterfaceObject
  13.              (vlax-get-acad-object)
  14.              (if (< (setq ver1 (atoi (getvar 'acadver)))
  15.                     16
  16.                  )
  17.                "objectdbx.axdbdocument"
  18.                (strcat "objectdbx.axdbdocument."
  19.                        (itoa ver1
  20.                        )
  21.                )
  22.              )
  23.            )
  24.     )
  25.   )
  26.   (if strDrawingName
  27.     (progn
  28.       (vla-open objDBXDocument (findfile strDrawingName))
  29.       (vlax-for        objTextStyle
  30.                              (vla-get-textstyles
  31.                                (vla-get-activedocument
  32.                                  (vlax-get-acad-object)
  33.                                )
  34.                              )
  35.                                         ;    (print (entget (vlax-vla-object->ename objTextStyle)))
  36.         (if (or        (not (vl-filename-extension
  37.                        (vla-get-fontfile objTextStyle)
  38.                      )
  39.                 )
  40.                 (= (strcase
  41.                      (vl-filename-extension
  42.                        (vla-get-fontfile objTextStyle)
  43.                      )
  44.                    )
  45.                    ".SHX"
  46.                 )

  47.             )
  48.           (print (vla-get-fontfile objTextStyle))
  49.         )
  50.       )
  51.     )
  52.   )
  53. )


用法:
(DBX-SHX "d:\\abc")  ;;查找d盘abc目录下所有DWG文件,打印出这些DWG里面定义的SHX文件。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-9-24 02:35 , Processed in 0.331239 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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