明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1781|回复: 4

[求助]高手们帮忙看下以下源码,我想按空格键退出WHILE循环,该如何做

[复制链接]
发表于 2009-4-28 22:08:00 | 显示全部楼层 |阅读模式
(defun c:plgj ()
(setq sn (entsel "\n选择文字"))
(setq sb (car sn)
p1 (cadr sn)
txtbasepoint (cdr (assoc 10 (entget sb)))
p2 t
i 1
)
(while (and (< i 9) p2)
(command "copy" sb "" txtbasepoint pause "")
(setq txt (entlast)
txt_list (entget txt)
txtbasepoint (cdr (assoc 10 txt_list))
)
(setq sb txt)
(setq old_wbnr_list (assoc 1 txt_list))
(cond ((= i 1) (setq new_wbnr_list (cons 1 "DN25")))
((or (= i 3) (= i 2)) (setq new_wbnr_list (cons 1 "DN32")))
((= i 4) (setq new_wbnr_list (cons 1 "DN40")))
((and (>= i 5) (<= i 8))
(setq new_wbnr_list (cons 1 "DN50"))
)
)
(setq txt_list (subst new_wbnr_list old_wbnr_list txt_list))
(entmod txt_list)
(setq i (1+ i))
)
)
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2009-4-29 08:29:00 | 显示全部楼层

...我想按空格键退出WHILE循环....

您得将 按空格键 的返回值加入 (and ....) 的判断式中
但看不到您有对 按空格键 取值 / 且在何处取值 ?

 楼主| 发表于 2009-4-29 09:11:00 | 显示全部楼层
麻烦您告知一下,如何 按空格键 取值 / 且在何处取值 。我的思路是这样的,按上面的程序,必须循环八次才能退出。但是我有时候需要循环的次数小于八次,因此我想在达到需要循环的次数后,按空格键退出循环。
发表于 2009-4-29 09:36:00 | 显示全部楼层
问题是您并未 对 按空格键 取值 建立管道呀
发表于 2009-4-29 22:16:00 | 显示全部楼层

;读取点坐标,输入两参数到e:/temp.csv----v1.0
(defun c:readid()
(setq temp (open "e:/temp.csv" "a"))

(princ "\n\n" temp)
(setq char "a") ;初始化char,必须地

(while (/= char "b")
  (setq p1 (getpoint "\n选择点:")) 
  (setq z1 (getreal "\n输入参数1的值:"))
  (setq z2 (getreal "\n输入参数2的值:"))
  (princ (strcat  (rtos (car p1) 2) "," (rtos (cadr p1) 2) ","  (rtos z1 2) ","  (rtos z2 2) "\n" ) temp)
  (setq char (getstring "继续(anykey)/中止(Break):"))  ;输入b退出循环
)

  (close temp)
)

看上面的循环,把B改成空格即成,把条件表达式or进去

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

本版积分规则

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

GMT+8, 2025-2-25 05:19 , Processed in 0.153738 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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