明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2668|回复: 5

请求编程:查询DWG文件

[复制链接]
发表于 2007-9-20 22:00:00 | 显示全部楼层 |阅读模式

请求编这样的程序。做成.exe可执行文件更好了。

例如有1.dwg、2.dwg、3.dwg......n.dwg文件,其中66.dwg、88.dwg、99.dwg文件中内容有“螺栓”文字。11.dwg  22.dwg   55.dwg中包含有坐标(10000,10000,450)。

打开程序(不是CAD中,或者就称为一个软件)---提示选择dwg文件(可多选)或者某个文件夹(下有大量的dwg文件)----输入查询的文字---输入“螺栓”,程序列出66.dwg、88.dwg、99.dwg三个文件。

打开软件---提示选择dwg文件(可多选)或者某个文件夹(下有大量的dwg文件)----选择查询的坐标---输入(10000,10000,450)。程序列出11dwg、22.dwg、55.dwg三个文件就更好了。

希望高手能编出这样的程序,谢谢!!

发表于 2007-9-21 17:52:00 | 显示全部楼层
应该可以,有空做一下,主要就是用-OBJECTDBX,在所有的1-99文件中判断MTEXT与TEXT,符合条件的OPEN,
 楼主| 发表于 2007-9-23 14:29:00 | 显示全部楼层
谢谢您了
发表于 2007-9-23 22:42:00 | 显示全部楼层

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

 楼主| 发表于 2007-9-24 10:48:00 | 显示全部楼层

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

让我用用吧!我的单个文件一般不超过200K,谢谢。
发表于 2007-10-17 20:11:00 | 显示全部楼层

其实就在CAD里边进行也一样,新开一个空图,运行LISP程序,运行过程如下:

  首先选取文件夹,等待输入 查询的内容 以字串 STR

  查找该文件夹内所有DWG文件,将文件存到表fns(1.dwg,2.dwg,,,)

  (foreach fn fns;循环

    (command "INSERT" (strcat "*" path "\\" fn) (list 0 0 0) "1" "0")

    (if(ssget "X" (list(cons 0 "TEXT,MTEXT")(cons 1 STR)))

       (princ (strcat fn "\n"));可以换成写入到你所指定的文件更好些

    )

    (command"REASE"(ssget"X")) 

    (command"PURGE""A""*""N")

    (gc)

)  

(command"QUIT""Y") ;把运行结果保存到了文件才能用哟,如果只是用了PRINC 输出的话就不行了哈

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-2-27 23:16 , Processed in 0.234496 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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