找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 759|回复: 2

[求助]:请帮忙编一个自动处理的程序

[复制链接]
发表于 2006-8-18 23:17:39 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
自动处理以下一些内容:
1、增加图层A、B等数个图层;
2、删除图层1、2等数个图层里的对象;
3、修改图层4、5等数个图层线宽、颜色;
4、替换文字“A”为“B”;
5、关闭图层4、5、6等;
程序是开放式的,我自己根据需要来调整。
哪位高手能帮助一下。谢谢!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 11285个

财富等级: 富甲天下

发表于 2006-8-19 12:13:36 | 显示全部楼层

  1. (DEFUN C:TEST ()
  2. (SETVAR "CMDECHO" 0)
  3. (COMMAND ".UNDO" "BE")
  4. (COMMAND "LAYER" "N" "A,B" "")
  5. (IF (SETQ SS (SSGET "X" '((8 . "1,2"))))
  6.   (COMMAND "ERASE" SS "")
  7. )
  8. (COMMAND "LAYER" "C" "RED" "4" "C" "3" "5" "")
  9. (COMMAND "LAYER" "LW" "0.3" "4" "LW" "0.5" "5" "")
  10. (IF (SETQ SS (SSGET "X" '((0 . "*TEXT") (1 . "A")))) (PROGN
  11.   (SETQ I -1)
  12.   (REPEAT (SSLENGTH SS)
  13.    (SETQ ENT (ENTGET (SSNAME SS (SETQ I (1+ I))))
  14.          ENT (SUBST (CONS 1 "B") (ASSOC 1 ENT) ENT))
  15.    (ENTMOD ENT)
  16.   )
  17. ))
  18. (COMMAND "LAYER" "OFF" "4,5,6" "")
  19. (COMMAND ".UNDO" "E")
  20. (PRINC)
  21. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-8-19 19:28:45 | 显示全部楼层
感谢zxq0220 !
我对程序按自己的要求进行了修改后,
(DEFUN C:TEST ()
(SETVAR "CMDECHO" 0)
(COMMAND ".UNDO" "BE")
(IF (SETQ SS (SSGET "X" '((8 . "0污水,0污水井,0管径坡度,dm,gx-标注"))))
  (COMMAND "ERASE" SS "")
)
(IF (SETQ SS (SSGET "X" '((0 . "*TEXT") (1 . "污水")))) (PROGN
  (SETQ I -1)
  (REPEAT (SSLENGTH SS)
   (SETQ ENT (ENTGET (SSNAME SS (SETQ I (1+ I))))
         ENT (SUBST (CONS 1 "给水") (ASSOC 1 ENT) ENT))
   (ENTMOD ENT)
  )
(IF (SETQ SS (SSGET "X" '((0 . "*TEXT") (1 . "WS")))) (PROGN
  (SETQ I -1)
  (REPEAT (SSLENGTH SS)
   (SETQ ENT (ENTGET (SSNAME SS (SETQ I (1+ I))))
         ENT (SUBST (CONS 1 "YS") (ASSOC 1 ENT) ENT))
   (ENTMOD ENT)
  )
))
(COMMAND ".UNDO" "E")
(PRINC)
)
调入CADR2002中出现:  错误: 输入的列表有缺陷
我再调整后,
(DEFUN C:TEST ()
(SETVAR "CMDECHO" 0)
(COMMAND ".UNDO" "BE")
(IF (SETQ SS (SSGET "X" '((8 . "0污水,0污水井,0管径坡度,dm,gx-标注"))))
  (COMMAND "ERASE" SS "")
)
(IF (SETQ SS (SSGET "X" '((0 . "*TEXT") (1 . "污水")))) (PROGN
  (SETQ I -1)
  (REPEAT (SSLENGTH SS)
   (SETQ ENT (ENTGET (SSNAME SS (SETQ I (1+ I))))
         ENT (SUBST (CONS 1 "给水") (ASSOC 1 ENT) ENT))
   (ENTMOD ENT)
  )
))
(COMMAND ".UNDO" "E")
(PRINC)
)
查找"污水"替换为"给水"没有成功.
请高手再帮我查查原因,我是不懂LISP,只是照瓣画葫芦而已.
(最好的能做多个替换.)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-9-21 07:19 , Processed in 0.180294 second(s), 36 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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