首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Access 2007中使用VBA搜索AutoCAD (dwg)文件

问在Access 2007中使用VBA搜索AutoCAD (dwg)文件
EN

Stack Overflow用户
提问于 2011-09-22 23:50:34
回答 2查看 2.8K关注 0票数 5

我有成百上千的DWG,AutoCAD文件,我想搜索和编目到MS Access数据库中。

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

例如,我有一个文件名为T-25682.DWG,标题为Machine Spacer,创建时间为01/20/2010。

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

代码语言:javascript
复制
== ID ==    == DESCRIPTION ==    == CREATED ON ==    == FILENAME ==

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

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-10-21 18:31:58

我会完全避免使用VBA,因为AutoLISP可以轻松地完成这项工作。下面是操作步骤:

在AutoLISP文件中创建“数据提取和写入以访问”功能。免费提供的ADOLisp库将使它可以轻松地写入Access,如果它失败了,或者你不能做到这一点,你总是可以只写到csv文件……

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

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

备注:

  1. 确保acaddoc.lsp在完成后关闭绘图(或让AutoCAD退出,具体取决于您打开文件的方式)。
  2. 要使此操作正常工作,标题栏必须可靠,请确保添加了一些错误检查。您可以使用该脚本在找到问题时将其记录到文本文件中...

AutoLisp真的真的很容易,要获得学习方面的帮助,请访问AutoLISP Beginners' Tutorials。

有关提出问题和从先前回答的问题中搜索代码片段的最佳位置,请参阅Visual LISP, AutoLISP and General Customization。

票数 3
EN

Stack Overflow用户

发布于 2011-09-23 17:08:53

如果有完整版本的AutoCAD,则可以尝试使用数据提取向导。这对于属性块来说工作得很好。如果这不好,最好的地方尝试沼泽或AutoCAD论坛或AUGI。

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

+edit+看看这个(free) chapter on AutoCAD external database connectivity。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7517695

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档