5

我有数百个 DWG、AutoCAD 文件,我想搜索这些文件并将其编入 MS Access 数据库。

基本上,我想搜索 DWG 并提取标题框中的任何描述以及日期,并将所有内容带到 Access 中,使其成为可搜索的目录。

例如,我有一个文件名 T-25682.DWG,它的标题是 Machine Spacer,并创建于 2010 年 1 月 20 日。

我会从 DWG 文件中提取该信息并将其插入 Access 数据库,如下所示:

== ID ==    == DESCRIPTION ==    == CREATED ON ==    == FILENAME ==

    1       Machine Spacer       01/20/2010          T-25682.dwg

我该如何处理和解决这个问题?是否有可以与 Access 一起使用的 AutoCAD 库?如何在 DWG 文件中搜索?

4

2 回答 2

3

我会完全避免使用 VBA,AutoLISP 可以轻松完成这项工作。就是这样:

在 AutoLISP 文件中创建“数据提取和写入 Access”功能。免费提供的 ADOLisp 库将使写入 Access 变得轻而易举,如果失败,或者您无法做到这一点,您始终可以只写入 csv 文件...

一旦您能够为单个 dwg 文件执行此操作,请创建一个脚本(使用可以复制和打开文件的任何内容,AutoLisp 也可以)执行以下操作:

  1. 将该 lisp 文件复制到 dwg 文件所在的目录中,将该文件命名为 acaddoc.lsp。
  2. 依次打开目录中的每个 dwg。打开后,acaddoc.lsp 将运行并执行其工作。
  3. 从该目录中删除 acaddoc.lsp(否则每次在其中打开 dwg 时它都会运行)。
  4. 对您希望在其中编目的 dwg 文件的每个目录重复此操作。

笔记:

  1. 确保 acaddoc.lsp 完成后关闭图形(或退出 AutoCAD,具体取决于您打开文件的方式)。
  2. 为此,您的标题栏需要可靠,确保添加一些错误检查。您可以使用脚本将任何问题记录到文本文件中,因为他们发现它们...

AutoLisp 真的很简单,要获得学习帮助,请转到AutoLISP 初学者教程

有关提出问题和搜索先前已回答问题的代码片段的最佳位置,请参阅Visual LISP、AutoLISP 和常规自定义

于 2011-10-21T10:31:57.577 回答
1

如果您有完整版的 AutoCAD,您可以尝试数据提取向导。这对于属性块非常有效。如果这不好,最好的尝试是 Swamp 或 AutoCAD 论坛或 AUGI。

VBA 在 AutoCAD 的最后 3 个版本中被弃用,取而代之的是 .NET API,仅供参考

+edit+ 看看这个关于 AutoCAD 外部数据库连接的(免费)章节

于 2011-09-23T09:08:52.650 回答