ninja37 发表于 2022-7-21 00:02:06

按顺序输入文字,左键输入,右键跳过,esc取消

想编一LISP程序,实现如下功能:依次在图内点击,每点击一次后自动在所点击位置输入一串单行文字(高度6)(图层6),依次输入的文字为序列方式,

第1次点击输入   上模座厚度,
第2次点击输入   上垫板厚度,

第3次点击输入   固定板厚度,
第4次点击输入   止挡板厚度,
第5次点击输入   脱料板厚度,
第6次点击输入   下模板厚度,
第7次点击输入   下垫板厚度,
第8次点击输入   下模座厚度
就这8种文字,
左键输入,点鼠标右键跳过。按esc取消,,求高手指教,谢谢!



xj6019 发表于 2022-7-21 00:02:07

本帖最后由 xj6019 于 2022-7-21 13:51 编辑


(defun C:NM (/ code gr loop nn ptx ss)
      (setq SS '("上模座厚度1" "上垫板厚度2""固定板厚度3""止挡板厚度4""脱料板厚度5""下模板厚度6""下垫板厚度7"   "下模座厚度8"))
      (setq loop t nn 0)
      (while loop
                (setq gr (grread t 15 0) code (car gr) ptx (cadr gr))
                (cond
                        ((= code 3) (setq loop T)                                       
                              (entmake (list '(0 . "TEXT") (cons 8 "图层6") (cons 1 (nth nn ss))(cons 50 0) (cons 10 (cadr gr)) (cons 11 (cadr gr)) (cons 72 1) (cons 73 2) (cons 40 6)))                              
                              (setq nn(1+ nn))
                        )
                        ((member code '(11 25))
                              (setq loop T)(setq nn(1+ nn))
                        )
                )
      )      
      (princ)
)

ninja37 发表于 2022-7-27 18:35:59

xj6019 发表于 2022-7-21 00:02
(defun C:NM (/ code gr loop nn ptx ss)
      (setq SS '("上模座厚度1" "上垫板厚度2""固定板厚 ...

多谢大师帮助。

bai2000 发表于 2022-8-12 17:10:01

挺好用的,能不能加个提示:“将写入文字。。。“,让人更明白即将写的文字内容?

bai2000 发表于 2022-8-20 16:54:22

顶一下,老大门能看到

vladimir 发表于 2023-2-7 09:11:07

非常不错的代码,谢谢楼主分享啊。
页: [1]
查看完整版本: 按顺序输入文字,左键输入,右键跳过,esc取消