明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1248|回复: 3

[求助]如何简化LISP的“回车”操作?

[复制链接]
发表于 2008-7-8 17:39 | 显示全部楼层 |阅读模式
如何简化LISP的“回车”操作?
如附件所示意的LISP是网上找的,是用来改变文字的图层的。
但是每次使用的时候,选取源文字,再选取目标文字后,目标文字不能马上改变图层,必须等再按一次回车或者空格才能完成。
请问,应该如何做,才能简化操作,取消这个”回车“的步骤?


(defun c:tll (/ key ent1 el en n ss th val vt)
  (setq val 8);设置为图层匹配
  (prompt "\n当前匹配设置: 文字图层")
  (while (/= "TEXT" (cdr (assoc 0 en)))
    (initget "Set")
    (setq ent1 (entsel "\n选择源文字对象 :"))
    (if (= 'STR (type ent1))
      (progn  
        (initget " L ")
        (setq key (getkword))
        (cond
          ((= key "L") (setq val 8 vt "文字图层"))
          (t (setq val 1 vt "文字内容"))
        );;;end cond
        ;;;(setq ent1 nil)
        (prompt (strcat "\n当前匹配设置: " vt))
      );;;end progn
      (if ent1 (setq en (entget (car ent1))))
    );;;end if
  );;;end while
  ;;;(setq en (entget ent1))
  (setq th (cdr (assoc val en)))
  (prompt "\n点取要修改的文字:")
  (setq ss (ssget '((0 . "TEXT"))))
  (if ss
    (progn
      (setq n 0)
      (command "undo" "group")
      (while (< n (sslength ss))
        (setq el (entget (ssname ss n)))
        (entmod
          (subst
            (cons (car (assoc val el)) th)
            (assoc val el)
            el
          )
        )
        (setq n (1+ n))
      );;;end while
      (command "undo" "end")
      (prompt "\n匹配成功!(CS制作)")
      (princ)
    );;;end progn
    (progn
      (prompt "\n没有选到任何文本,退出!")
      (princ)
    )
  );;;end if
)
发表于 2008-7-8 19:33 | 显示全部楼层


(setq ss (ssget '((0 . "TEXT"))))
改成
(setq ss (ssget ":S" '((0 . "TEXT"))))

 楼主| 发表于 2008-7-13 20:16 | 显示全部楼层
sailorcwx发表于2008-7-8 19:33:00把(setq ss (ssget '((0 . \"TEXT\"))))改成(setq ss (ssget \":S\" '((0 . \"TEXT\"))))

sailorcwx兄的修改,是使得每次选取源文字后,只能匹配一个文字图层,我是希望能够想MASSPROP命令一样,可以连续匹配特性。

也就是说,运行一次命令,可以连续匹配多个文字,而选择每个文字的过程中,都无需按回车

发表于 2008-7-13 20:53 | 显示全部楼层

那你加一个循环咯

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

本版积分规则

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

GMT+8, 2024-5-10 17:29 , Processed in 0.161524 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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