请求编程:查询DWG文件
<p>请求编这样的程序。做成.exe可执行文件更好了。</p><p>例如有1.dwg、2.dwg、3.dwg......n.dwg文件,其中66.dwg、88.dwg、99.dwg文件中内容有“螺栓”文字。11.dwg 22.dwg 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> 应该可以,有空做一下,主要就是用-OBJECTDBX,在所有的1-99文件中判断MTEXT与TEXT,符合条件的OPEN, 谢谢您了 <p>我有写过这样的程序.CAD文件大的时候操作起来比较慢</p><p></p><p></p>[求助]让我用用吧!我的单个文件一般不超过200K,谢谢。
让我用用吧!我的单个文件一般不超过200K,谢谢。 <p>其实就在CAD里边进行也一样,新开一个空图,运行LISP程序,运行过程如下:</p><p> 首先选取文件夹,等待输入 查询的内容 以字串 STR</p><p> 查找该文件夹内所有DWG文件,将文件存到表fns(1.dwg,2.dwg,,,)</p><p> (foreach fn fns;循环</p><p> (command "INSERT" (strcat "*" path "\\" fn) (list 0 0 0) "1" "0")</p><p> (if(ssget "X" (list(cons 0 "TEXT,MTEXT")(cons 1 STR)))</p><p> (princ (strcat fn "\n"));可以换成写入到你所指定的文件更好些</p><p> )</p><p> (command"REASE"(ssget"X")) </p><p> (command"PURGE""A""*""N")</p><p> (gc)</p><p>) </p><p>(command"QUIT""Y") ;把运行结果保存到了文件才能用哟,如果只是用了PRINC 输出的话就不行了哈</p>
页:
[1]