明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 414|回复: 4

[经验] 如何批量提取文件夹内所有图纸的文字信息

[复制链接]
发表于 2024-2-26 14:32 | 显示全部楼层 |阅读模式
如图,想要批量提取一个文件夹下所有图纸的文件编码,原本好不容易单个图纸提取好了
(根据块名炸开块----》遍历炸开的选择集得到文件编码文字----》得到文件编码和版本坐标-----》提取两个坐标间的文字),
结果换批量的时候发现要获取文档对象,单个提取的不能用了,所以用doc文档对象的提取文字应该怎么提取呢,问了一下gpt,问的这个思路是否有问题呢,感觉它回答的有点问题

本帖子中包含更多资源

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

x
 楼主| 发表于 2024-2-26 14:34 | 显示全部楼层
doc对象为这样得到的
  1. (defun test()       
  2.         ;; 创建AutoCAD应用程序对象
  3.         (setq acadd (vlax-get-or-create-object "AutoCAD.Application"))

  4.         ;; 获取DWG文件所在文件夹路径
  5.         (setq folder "D:/三澳成品采集信息/图纸类/化学/升版/")

  6.         ;; 获取文件夹中的所有DWG文件
  7.         (setq files (vl-directory-files folder "*.dwg"))

  8.         ;; 打开每个DWG文件并执行操作
  9.         (foreach file files
  10.           (setq full-path (strcat folder file))
  11.           (vl-catch-all-apply
  12.             '(lambda ()
  13.                (setq doc (vla-open (vla-get-documents acadd) full-path))
  14.                ;; 在这里可以执行其他操作,例如提取文字等
  15.                ;(setq block-names (get-all-block-names doc file)) ; 获取文档中的所有块名称
  16.                ;(princ block-names) ; 输出所有块名称
  17.                (vla-close doc)  ; 关闭当前文档
  18.                )
  19.             )
  20.           (if (vl-catch-all-error-p err)
  21.               (progn
  22.                 (setq errmsg (vl-catch-all-error-message err))
  23.                 (if (vl-position "Automation Error" errmsg)
  24.                     (princ (strcat "\nFailed to open file: " full-path ", Error: " errmsg))
  25.                     (princ (strcat "\nError: " errmsg))
  26.                     )
  27.                 )
  28.             )
  29.           )

  30.         ;; 退出AutoCAD应用程序对象
  31.         (vlax-release-object acadd)
  32.   )
发表于 2024-2-26 16:36 | 显示全部楼层
我觉得你放个图纸会好一点。
 楼主| 发表于 2024-2-26 16:40 | 显示全部楼层
橡皮 发表于 2024-2-26 16:36
我觉得你放个图纸会好一点。

好的,图纸是这样的

本帖子中包含更多资源

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

x
发表于 2024-2-26 17:35 | 显示全部楼层
批量不就是后台打开文件而已嘛,有什么困难
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-17 16:55 , Processed in 0.240619 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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