wayi2002 发表于 2007-9-20 22:00:00

请求编程:查询DWG文件

<p>请求编这样的程序。做成.exe可执行文件更好了。</p><p>例如有1.dwg、2.dwg、3.dwg......n.dwg文件,其中66.dwg、88.dwg、99.dwg文件中内容有“螺栓”文字。11.dwg&nbsp; 22.dwg&nbsp;&nbsp; 55.dwg中包含有坐标(10000,10000,450)。</p><p>打开程序(不是CAD中,或者就称为一个软件)---提示选择dwg文件(可多选)或者某个文件夹(下有大量的dwg文件)----输入查询的文字---输入“螺栓”,程序列出66.dwg、88.dwg、99.dwg三个文件。</p><p>打开软件---提示选择dwg文件(可多选)或者某个文件夹(下有大量的dwg文件)----选择查询的坐标---输入(10000,10000,450)。程序列出11dwg、22.dwg、55.dwg三个文件就更好了。</p><p>希望高手能编出这样的程序,谢谢!!</p>

天龙八部 发表于 2007-9-21 17:52:00

应该可以,有空做一下,主要就是用-OBJECTDBX,在所有的1-99文件中判断MTEXT与TEXT,符合条件的OPEN,

wayi2002 发表于 2007-9-23 14:29:00

谢谢您了

wujimmy 发表于 2007-9-23 22:42:00

<p>我有写过这样的程序.CAD文件大的时候操作起来比较慢</p><p></p><p></p>

wayi2002 发表于 2007-9-24 10:48:00

[求助]让我用用吧!我的单个文件一般不超过200K,谢谢。

让我用用吧!我的单个文件一般不超过200K,谢谢。

llsheng_73 发表于 2007-10-17 20:11:00

<p>其实就在CAD里边进行也一样,新开一个空图,运行LISP程序,运行过程如下:</p><p>&nbsp; 首先选取文件夹,等待输入 查询的内容 以字串 STR</p><p>&nbsp; 查找该文件夹内所有DWG文件,将文件存到表fns(1.dwg,2.dwg,,,)</p><p>&nbsp; (foreach fn fns;循环</p><p>&nbsp;&nbsp;&nbsp; (command "INSERT" (strcat "*" path "\\" fn) (list 0 0 0) "1" "0")</p><p>&nbsp;&nbsp;&nbsp; (if(ssget "X" (list(cons 0 "TEXT,MTEXT")(cons 1 STR)))</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (princ (strcat fn "\n"));可以换成写入到你所指定的文件更好些</p><p>&nbsp;&nbsp;&nbsp; )</p><p>&nbsp;&nbsp;&nbsp; (command"REASE"(ssget"X"))&nbsp;</p><p>&nbsp;&nbsp;&nbsp; (command"PURGE""A""*""N")</p><p>&nbsp;&nbsp;&nbsp; (gc)</p><p>)&nbsp;&nbsp; </p><p>(command"QUIT""Y")&nbsp;;把运行结果保存到了文件才能用哟,如果只是用了PRINC 输出的话就不行了哈</p>
页: [1]
查看完整版本: 请求编程:查询DWG文件